llvm-6502/lib/Transforms
Shuxin Yang 4fd00c55d0 Redo the fix Benjamin Kramer committed in r178793 about iterator invalidation in Reassociate.
I brazenly think this change is slightly simpler than r178793 because: 
  - no "state" in functor
  - "OpndPtrs[i]" looks simpler than "&Opnds[OpndIndices[i]]" 

  While I can reproduce the probelm in Valgrind, it is rather difficult to come up
a standalone testing case. The reason is that when an iterator is invalidated,
the stale invalidated elements are not yet clobbered by nonsense data, so the
optimizer can still proceed successfully. 

  Thank Benjamin for fixing this bug and generously providing the test case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179062 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-08 22:00:43 +00:00
..
Hello Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
InstCombine Tidy up a bit. No functional change. 2013-04-05 21:20:12 +00:00
Instrumentation Minor simplification. 2013-03-28 22:40:08 +00:00
IPO Use a worklist to avoid a sneaky iterator invalidation. 2013-04-02 08:16:45 +00:00
ObjCARC Removed trailing whitespace. 2013-04-05 23:46:45 +00:00
Scalar Redo the fix Benjamin Kramer committed in r178793 about iterator invalidation in Reassociate. 2013-04-08 22:00:43 +00:00
Utils Add all clauses when merging the landing pads. Duplicates will be handled later on. 2013-03-22 20:31:05 +00:00
Vectorize LoopVectorizer: Pass OperandValueKind information to the cost model 2013-04-04 23:26:27 +00:00
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
LLVMBuild.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
Makefile Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00