Skip to content
  1. Nov 08, 2011
  2. Aug 26, 2011
  3. Aug 17, 2011
    • Bill Wendling's avatar
      Modify for the new EH scheme. · 1cdd7fdf
      Bill Wendling authored
      Things are much saner now. We no longer need to modify the laning pads, because
      of the invariants we impose upon them. The only thing DwarfEHPrepare needs to do
      is convert the 'resume' instruction into a call to '_Unwind_Resume'.
      
      llvm-svn: 137855
      1cdd7fdf
  4. Jul 30, 2011
  5. Jul 28, 2011
  6. Jul 15, 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
  8. Jul 11, 2011
  9. Jun 01, 2011
    • Bill Wendling's avatar
      The ARM stuff already calls the Resume function, not the Resume_or_Rethrow. It · 48581a64
      Bill Wendling authored
      turns out that it could cause an infinite loop in some situations. If this code
      is triggered and it converts a cleanup into a catchall, but that cleanup was in
      already in a cleanup, then the _Unwind_SjLj_Resume could infinite loop. I.e.,
      the code doesn't consume the exception object and passes it on to
      _Unwind_SjLj_Resume. But _USjLjR expects it to be consumed (since it's landing
      at a catchall instead of a cleanup). So it uses the values that are presently
      there, which are the values that tell it to jump to the fake landing pad.
      <rdar://problem/9508402>
      
      llvm-svn: 132381
      48581a64
  10. May 28, 2011
    • Benjamin Kramer's avatar
      Erase instructions _after_ checking their type. · e260b2b0
      Benjamin Kramer authored
      llvm-svn: 132256
      e260b2b0
    • John McCall's avatar
      Implement and document the llvm.eh.resume intrinsic, which is · 046c47e9
      John McCall authored
      transformed by the inliner into a branch to the enclosing landing pad
      (when inlined through an invoke).  If not so optimized, it is lowered
      DWARF EH preparation into a call to _Unwind_Resume (or _Unwind_SjLj_Resume
      as appropriate).  Its chief advantage is that it takes both the
      exception value and the selector value as arguments, meaning that there
      is zero effort in recovering these;  however, the frontend is required
      to pass these down, which is not actually particularly difficult.
      
      Also document the behavior of landing pads a bit better, and make it
      clearer that it's okay that personality functions don't always land at
      landing pads.  This is just a fact of life.  Don't write optimizations that
      rely on pushing things over an unwind edge.
      
      llvm-svn: 132253
      046c47e9
  11. Mar 30, 2011
  12. Mar 15, 2011
  13. Oct 29, 2010
  14. 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
  15. Sep 03, 2010
  16. Sep 01, 2010
  17. Aug 31, 2010
  18. Aug 30, 2010
  19. Aug 29, 2010
  20. Aug 06, 2010
  21. Jul 27, 2010
  22. Jul 26, 2010
  23. Jul 22, 2010
  24. Jul 01, 2010
  25. Jun 29, 2010
  26. Jun 28, 2010
  27. Jun 25, 2010
  28. Jun 24, 2010
  29. Jun 18, 2010
  30. Jun 12, 2010
Loading