Skip to content
  1. Oct 18, 2011
  2. Oct 11, 2011
    • Lang Hames's avatar
      Add a natural stack alignment field to TargetData, and prevent InstCombine from · de7ab801
      Lang Hames authored
      promoting allocas to preferred alignments that exceed the natural
      alignment. This avoids some potentially expensive dynamic stack realignments.
      
      The natural stack alignment is set in target data strings via the "S<size>"
      option. Size is in bits and must be a multiple of 8. The natural stack alignment
      defaults to "unspecified" (represented by a zero value), and the "unspecified"
      value does not prevent any alignment promotions. Target maintainers that care
      about avoiding promotions should explicitly add the "S<size>" option to their
      target data strings.
      
      llvm-svn: 141599
      de7ab801
  3. Jul 19, 2011
  4. Jul 18, 2011
  5. Jul 15, 2011
  6. Jul 12, 2011
    • Tobias Grosser's avatar
      Remove IntegerType constness from TargetData · 6c3501d5
      Tobias Grosser authored
      llvm-svn: 134978
      6c3501d5
    • Bill Wendling's avatar
      Revert r134893 and r134888 (and related patches in other trees). It was causing · a78cd228
      Bill Wendling authored
      an assert on Darwin llvm-gcc builds.
      
      Assertion failed: (castIsValid(op, S, Ty) && "Invalid cast!"), function Create, file /Users/buildslave/zorg/buildbot/smooshlab/slave-0.8/build.llvm-gcc-i386-darwin9-RA/llvm.src/lib/VMCore/Instructions.cpp, li\
      ne 2067.
      etc.
      
      http://smooshlab.apple.com:8013/builders/llvm-gcc-i386-darwin9-RA/builds/2354
      
      --- Reverse-merging r134893 into '.':
      U    include/llvm/Target/TargetData.h
      U    include/llvm/DerivedTypes.h
      U    tools/bugpoint/ExtractFunction.cpp
      U    unittests/Support/TypeBuilderTest.cpp
      U    lib/Target/ARM/ARMGlobalMerge.cpp
      U    lib/Target/TargetData.cpp
      U    lib/VMCore/Constants.cpp
      U    lib/VMCore/Type.cpp
      U    lib/VMCore/Core.cpp
      U    lib/Transforms/Utils/CodeExtractor.cpp
      U    lib/Transforms/Instrumentation/ProfilingUtils.cpp
      U    lib/Transforms/IPO/DeadArgumentElimination.cpp
      U    lib/CodeGen/SjLjEHPrepare.cpp
      --- Reverse-merging r134888 into '.':
      G    include/llvm/DerivedTypes.h
      U    include/llvm/Support/TypeBuilder.h
      U    include/llvm/Intrinsics.h
      U    unittests/Analysis/ScalarEvolutionTest.cpp
      U    unittests/ExecutionEngine/JIT/JITTest.cpp
      U    unittests/ExecutionEngine/JIT/JITMemoryManagerTest.cpp
      U    unittests/VMCore/PassManagerTest.cpp
      G    unittests/Support/TypeBuilderTest.cpp
      U    lib/Target/MBlaze/MBlazeIntrinsicInfo.cpp
      U    lib/Target/Blackfin/BlackfinIntrinsicInfo.cpp
      U    lib/VMCore/IRBuilder.cpp
      G    lib/VMCore/Type.cpp
      U    lib/VMCore/Function.cpp
      G    lib/VMCore/Core.cpp
      U    lib/VMCore/Module.cpp
      U    lib/AsmParser/LLParser.cpp
      U    lib/Transforms/Utils/CloneFunction.cpp
      G    lib/Transforms/Utils/CodeExtractor.cpp
      U    lib/Transforms/Utils/InlineFunction.cpp
      U    lib/Transforms/Instrumentation/GCOVProfiling.cpp
      U    lib/Transforms/Scalar/ObjCARC.cpp
      U    lib/Transforms/Scalar/SimplifyLibCalls.cpp
      U    lib/Transforms/Scalar/MemCpyOptimizer.cpp
      G    lib/Transforms/IPO/DeadArgumentElimination.cpp
      U    lib/Transforms/IPO/ArgumentPromotion.cpp
      U    lib/Transforms/InstCombine/InstCombineCompares.cpp
      U    lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
      U    lib/Transforms/InstCombine/InstCombineCalls.cpp
      U    lib/CodeGen/DwarfEHPrepare.cpp
      U    lib/CodeGen/IntrinsicLowering.cpp
      U    lib/Bitcode/Reader/BitcodeReader.cpp
      
      llvm-svn: 134949
      a78cd228
  7. Jul 11, 2011
  8. Jul 09, 2011
    • Chris Lattner's avatar
      Land the long talked about "type system rewrite" patch. This · b1ed91f3
      Chris Lattner authored
      patch brings numerous advantages to LLVM.  One way to look at it
      is through diffstat:
       109 files changed, 3005 insertions(+), 5906 deletions(-)
      
      Removing almost 3K lines of code is a good thing.  Other advantages
      include:
      
      1. Value::getType() is a simple load that can be CSE'd, not a mutating
         union-find operation.
      2. Types a uniqued and never move once created, defining away PATypeHolder.
      3. Structs can be "named" now, and their name is part of the identity that
         uniques them.  This means that the compiler doesn't merge them structurally
         which makes the IR much less confusing.
      4. Now that there is no way to get a cycle in a type graph without a named
         struct type, "upreferences" go away.
      5. Type refinement is completely gone, which should make LTO much MUCH faster
         in some common cases with C++ code.
      6. Types are now generally immutable, so we can use "Type *" instead 
         "const Type *" everywhere.
      
      Downsides of this patch are that it removes some functions from the C API,
      so people using those will have to upgrade to (not yet added) new API.  
      "LLVM 3.0" is the right time to do this.
      
      There are still some cleanups pending after this, this patch is large enough
      as-is.
      
      llvm-svn: 134829
      b1ed91f3
  9. Apr 13, 2011
  10. Nov 29, 2010
  11. Oct 19, 2010
    • Owen Anderson's avatar
      Get rid of static constructors for pass registration. Instead, every pass... · 6c18d1aa
      Owen Anderson authored
      Get rid of static constructors for pass registration.  Instead, every pass exposes an initializeMyPassFunction(), which
      must be called in the pass's constructor.  This function uses static dependency declarations to recursively initialize
      the pass's dependencies.
      
      Clients that only create passes through the createFooPass() APIs will require no changes.  Clients that want to use the
      CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h
      before parsing commandline arguments.
      
      I have tested this with all standard configurations of clang and llvm-gcc on Darwin.  It is possible that there are problems
      with the static dependencies that will only be visible with non-standard options.  If you encounter any crash in pass
      registration/creation, please send the testcase to me directly.
      
      llvm-svn: 116820
      6c18d1aa
    • Michael J. Spencer's avatar
      Fix Whitespace. · 8b382e7e
      Michael J. Spencer authored
      llvm-svn: 116800
      8b382e7e
  12. Oct 08, 2010
  13. Sep 15, 2010
  14. Sep 10, 2010
  15. Aug 28, 2010
  16. Aug 11, 2010
  17. Aug 06, 2010
  18. Jul 28, 2010
  19. Jul 22, 2010
  20. Apr 23, 2010
  21. Apr 17, 2010
  22. Apr 08, 2010
  23. Apr 02, 2010
  24. Mar 16, 2010
  25. Feb 25, 2010
  26. Feb 24, 2010
    • Dan Gohman's avatar
      Make getTypeSizeInBits work correctly for array types; it should return · 4b2b48da
      Dan Gohman authored
      the number of value bits, not the number of bits of allocation for in-memory
      storage.
      
      Make getTypeStoreSize and getTypeAllocSize work consistently for arrays and
      vectors.
      
      Fix several places in CodeGen which compute offsets into in-memory vectors
      to use TargetData information.
      
      This fixes PR1784.
      
      llvm-svn: 97064
      4b2b48da
  27. Feb 16, 2010
Loading