Skip to content
  1. Jan 04, 2013
  2. Jan 02, 2013
    • Chandler Carruth's avatar
      Move all of the header files which are involved in modelling the LLVM IR · 9fb823bb
      Chandler Carruth authored
      into their new header subdirectory: include/llvm/IR. This matches the
      directory structure of lib, and begins to correct a long standing point
      of file layout clutter in LLVM.
      
      There are still more header files to move here, but I wanted to handle
      them in separate commits to make tracking what files make sense at each
      layer easier.
      
      The only really questionable files here are the target intrinsic
      tablegen files. But that's a battle I'd rather not fight today.
      
      I've updated both CMake and Makefile build systems (I think, and my
      tests think, but I may have missed something).
      
      I've also re-sorted the includes throughout the project. I'll be
      committing updates to Clang, DragonEgg, and Polly momentarily.
      
      llvm-svn: 171366
      9fb823bb
  3. Dec 30, 2012
  4. Dec 27, 2012
  5. Dec 21, 2012
  6. Dec 19, 2012
  7. Dec 18, 2012
  8. Dec 15, 2012
  9. Dec 14, 2012
  10. Dec 13, 2012
    • Quentin Colombet's avatar
      Take into account minimize size attribute in the inliner. · c0dba203
      Quentin Colombet authored
      Better controls the inlining of functions when the caller function has MinSize attribute.
      Basically, when the caller function has this attribute, we do not "force" the inlining
      of callee functions carrying the InlineHint attribute (i.e., functions defined with
      inline keyword)
      
      llvm-svn: 170065
      c0dba203
  11. Dec 12, 2012
  12. Dec 11, 2012
  13. Dec 10, 2012
  14. Dec 08, 2012
  15. Dec 06, 2012
  16. Dec 04, 2012
  17. Dec 03, 2012
    • Chandler Carruth's avatar
      Use the new script to sort the includes of every file under lib. · ed0881b2
      Chandler Carruth authored
      Sooooo many of these had incorrect or strange main module includes.
      I have manually inspected all of these, and fixed the main module
      include to be the nearest plausible thing I could find. If you own or
      care about any of these source files, I encourage you to take some time
      and check that these edits were sensible. I can't have broken anything
      (I strictly added headers, and reordered them, never removed), but they
      may not be the headers you'd really like to identify as containing the
      API being implemented.
      
      Many forward declarations and missing includes were added to a header
      files to allow them to parse cleanly when included first. The main
      module rule does in fact have its merits. =]
      
      llvm-svn: 169131
      ed0881b2
  18. Dec 01, 2012
    • Zhou Sheng's avatar
      8e6d64a7
    • Zhou Sheng's avatar
      The patch is to improve the memory footprint of pass GlobalOpt. · 13fb1ca4
      Zhou Sheng authored
      Also check in a case to repeat the issue, on which 'opt -globalopt' consumes 1.6GB memory.
      The big memory footprint cause is that current GlobalOpt one by one hoists and stores the leaf element constant into the global array, in each iteration, it recreates the global array initializer constant and leave the old initializer alone. This may result in many obsolete constants left.
      For example:  we have global array @rom = global [16 x i32] zeroinitializer
      After the first element value is hoisted and installed:   @rom = global [16 x i32] [ 1, 0, 0, ... ]
      After the second element value is installed:  @rom = global [16 x 32] [ 1, 2, 0, 0, ... ]        // here the previous initializer is obsolete
      ...
      When the transform is done, we have 15 obsolete initializers left useless.
      
      llvm-svn: 169079
      13fb1ca4
  19. Nov 29, 2012
  20. Nov 20, 2012
    • Bill Wendling's avatar
      Make the AttrListPtr object a part of the LLVMContext. · f86efb9b
      Bill Wendling authored
      When code deletes the context, the AttributeImpls that the AttrListPtr points to
      are now invalid. Therefore, instead of keeping a separate managed static for the
      AttrListPtrs that's reference counted, move it into the LLVMContext and delete
      it when deleting the AttributeImpls.
      
      llvm-svn: 168354
      f86efb9b
  21. Nov 19, 2012
    • Bob Wilson's avatar
      Clean up handling of always-inline functions in the inliner. · a5b0dc88
      Bob Wilson authored
      This patch moves the isInlineViable function from the InlineAlways pass into
      the InlineCostAnalyzer and then changes the InlineCost computation to use that
      simple check for always-inline functions. All the special-case checks for
      AlwaysInline in the CallAnalyzer can then go away.
      
      llvm-svn: 168300
      a5b0dc88
  22. Nov 15, 2012
  23. Nov 01, 2012
    • Chandler Carruth's avatar
      Revert the series of commits starting with r166578 which introduced the · 7ec5085e
      Chandler Carruth authored
      getIntPtrType support for multiple address spaces via a pointer type,
      and also introduced a crasher bug in the constant folder reported in
      PR14233.
      
      These commits also contained several problems that should really be
      addressed before they are re-committed. I have avoided reverting various
      cleanups to the DataLayout APIs that are reasonable to have moving
      forward in order to reduce the amount of churn, and minimize the number
      of commits that were reverted. I've also manually updated merge
      conflicts and manually arranged for the getIntPtrType function to stay
      in DataLayout and to be defined in a plausible way after this revert.
      
      Thanks to Duncan for working through this exact strategy with me, and
      Nick Lewycky for tracking down the really annoying crasher this
      triggered. (Test case to follow in its own commit.)
      
      After discussing with Duncan extensively, and based on a note from
      Micah, I'm going to continue to back out some more of the more
      problematic patches in this series in order to ensure we go into the
      LLVM 3.2 branch with a reasonable story here. I'll send a note to
      llvmdev explaining what's going on and why.
      
      Summary of reverted revisions:
      
      r166634: Fix a compiler warning with an unused variable.
      r166607: Add some cleanup to the DataLayout changes requested by
               Chandler.
      r166596: Revert "Back out r166591, not sure why this made it through
               since I cancelled the command. Bleh, sorry about this!
      r166591: Delete a directory that wasn't supposed to be checked in yet.
      r166578: Add in support for getIntPtrType to get the pointer type based
               on the address space.
      llvm-svn: 167221
      7ec5085e
  24. Oct 31, 2012
  25. Oct 30, 2012
  26. Oct 29, 2012
Loading