Skip to content
  1. Jul 20, 2011
  2. Jul 19, 2011
  3. Jul 18, 2011
  4. Jul 15, 2011
  5. Jul 14, 2011
  6. Jul 13, 2011
  7. Jul 12, 2011
    • Jay Foad's avatar
      Second attempt at de-constifying LLVM Types in FunctionType::get(), · b804a2b7
      Jay Foad authored
      StructType::get() and TargetData::getIntPtrType().
      
      llvm-svn: 134982
      b804a2b7
    • 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
    • Cameron Zwarich's avatar
      Fix LTO after the recent MC subtarget refactoring. · 4d4b0224
      Cameron Zwarich authored
      llvm-svn: 134930
      4d4b0224
  8. Jul 11, 2011
  9. 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
    • Evan Cheng's avatar
      Change createAsmParser to take a MCSubtargetInfo instead of triple, · 91111d27
      Evan Cheng authored
      CPU, and feature string. Parsing some asm directives can change
      subtarget state (e.g. .code 16) and it must be reflected in other
      modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance
      must be shared.
      
      llvm-svn: 134795
      91111d27
  10. Jul 08, 2011
    • Evan Cheng's avatar
      Eliminate asm parser's dependency on TargetMachine: · 4d1ca96b
      Evan Cheng authored
      - Each target asm parser now creates its own MCSubtatgetInfo (if needed).
      - Changed AssemblerPredicate to take subtarget features which tablegen uses
        to generate asm matcher subtarget feature queries. e.g.
        "ModeThumb,FeatureThumb2" is translated to
        "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0".
      
      llvm-svn: 134678
      4d1ca96b
  11. Jul 06, 2011
  12. Jul 02, 2011
  13. Jun 30, 2011
  14. Jun 29, 2011
  15. Jun 28, 2011
  16. Jun 25, 2011
  17. Jun 21, 2011
  18. Jun 20, 2011
    • Chris Lattner's avatar
      Revamp the "ConstantStruct::get" methods. Previously, these were scattered · cc19efaa
      Chris Lattner authored
      all over the place in different styles and variants.  Standardize on two
      preferred entrypoints: one that takes a StructType and ArrayRef, and one that
      takes StructType and varargs.
      
      In cases where there isn't a struct type convenient, we now add a
      ConstantStruct::getAnon method (whose name will make more sense after a few
      more patches land).  
      
      It would be "really really nice" if the ConstantStruct::get and 
      ConstantVector::get methods didn't make temporary std::vectors.
      
      llvm-svn: 133412
      cc19efaa
  19. Jun 18, 2011
  20. Jun 17, 2011
    • Bill Wendling's avatar
      b74b9de1
    • Bill Wendling's avatar
      Add an option that allows one to "decode" the LSDA. · e303114b
      Bill Wendling authored
      The LSDA is a bit difficult for the non-initiated to read. Even with comments,
      it's not always clear what's going on. This wraps the ASM streamer in a class
      that retains the LSDA and then emits a human-readable description of what's
      going on in it.
      
      So instead of having to make sense of:
      
      Lexception1:
              .byte   255
              .byte   155
              .byte   168
              .space  1
              .byte   3
              .byte   26
      Lset0 = Ltmp7-Leh_func_begin1
            .long     Lset0
      Lset1 = Ltmp812-Ltmp7
            .long     Lset1
      Lset2 = Ltmp913-Leh_func_begin1
            .long     Lset2
            .byte     3
      Lset3 = Ltmp812-Leh_func_begin1
            .long     Lset3
      Lset4 = Leh_func_end1-Ltmp812
            .long     Lset4
            .long     0
            .byte     0
            .byte     1
            .byte     0
            .byte     2
            .byte     125
            .long     __ZTIi@GOTPCREL+4
            .long     __ZTIPKc@GOTPCREL+4
      
      you can read this instead:
      
      ## Exception Handling Table: Lexception1
      ##  @LPStart Encoding: omit
      ##    @TType Encoding: indirect pcrel sdata4
      ##        @TType Base: 40 bytes
      ## @CallSite Encoding: udata4
      ## @Action Table Size: 26 bytes
      
      ## Action 1:
      ##   A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception.
      ##     For type(s):  __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4
      ## Action 2:
      ##   A throw between Ltmp812 and Leh_func_end1 does not have a landing pad.
      
      llvm-svn: 133286
      e303114b
    • Chris Lattner's avatar
      Drop the "2" suffix on some enums. · c4407080
      Chris Lattner authored
      llvm-svn: 133274
      c4407080
    • Chris Lattner's avatar
      remove support for a bunch of obsolete instruction encodings · f1c87109
      Chris Lattner authored
      and other backward compatibility hacks.
      
      llvm-svn: 133273
      f1c87109
    • Chris Lattner's avatar
      b877855b
Loading