llvm/lib/Transforms/Scalar
Bob Wilson 970eaf2520 Reapply 91184 with fixes and an addition to the testcase to cover the problem
found last time.  Instead of trying to modify the IR while iterating over it,
I've change it to keep a list of WeakVH references to dead instructions, and
then delete those instructions later.  I also added some special case code to
detect and handle the situation when both operands of a memcpy intrinsic are
referencing the same alloca.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91459 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15 22:00:51 +00:00
..
ABCD.cpp Fix DenseMap iterator constness. 2009-11-10 01:02:17 +00:00
ADCE.cpp
BasicBlockPlacement.cpp
CMakeLists.txt remove the now dead condprop pass, PR3906. 2009-11-11 05:56:35 +00:00
CodeGenPrepare.cpp Remove unnecessary #include "llvm/LLVMContext.h". 2009-12-08 05:45:41 +00:00
ConstantProp.cpp remove a bunch of extraneous LLVMContext arguments 2009-11-06 04:27:31 +00:00
DCE.cpp
DeadStoreElimination.cpp formatting cleanups. 2009-12-02 06:35:55 +00:00
GEPSplitter.cpp Check in the experimental GEP splitter pass. This pass splits complex 2009-10-26 19:12:14 +00:00
GVN.cpp Remove isPod() from DenseMapInfo, splitting it out to its own 2009-12-15 07:26:43 +00:00
IndVarSimplify.cpp Update various Loop optimization passes to cope with the possibility that 2009-11-05 21:11:53 +00:00
InstructionCombining.cpp Remove isPod() from DenseMapInfo, splitting it out to its own 2009-12-15 07:26:43 +00:00
JumpThreading.cpp fix PR5698 2009-12-06 17:17:23 +00:00
LICM.cpp Make sure the immediate dominator isn't NULL through iterations 2009-12-10 00:25:41 +00:00
LoopDeletion.cpp LoopDeletion depends on loops having dedicated exits. 2009-11-05 21:47:04 +00:00
LoopIndexSplit.cpp Update various Loop optimization passes to cope with the possibility that 2009-11-05 21:11:53 +00:00
LoopRotation.cpp Update various Loop optimization passes to cope with the possibility that 2009-11-05 21:11:53 +00:00
LoopStrengthReduce.cpp Delete an unused function. 2009-12-15 16:30:09 +00:00
LoopUnrollPass.cpp Replace LoopUnrollPass.cpp's custom code-size estimation code using 2009-10-31 14:54:17 +00:00
LoopUnswitch.cpp Dereference loopHeader after checking for null rather than before. 2009-12-09 22:55:01 +00:00
Makefile
MemCpyOptimizer.cpp Introduce and use convenience methods for getting pointer types 2009-10-06 15:40:36 +00:00
Reassociate.cpp Remove LLVMContext from reassociate. It was threaded through every function but 2009-11-14 07:25:54 +00:00
Reg2Mem.cpp
Scalar.cpp remove the now dead condprop pass, PR3906. 2009-11-11 05:56:35 +00:00
ScalarReplAggregates.cpp Reapply 91184 with fixes and an addition to the testcase to cover the problem 2009-12-15 22:00:51 +00:00
SCCP.cpp Fix a use of an invalidated iterator in the case where there are multiple 2009-11-23 16:13:39 +00:00
SCCVN.cpp Remove isPod() from DenseMapInfo, splitting it out to its own 2009-12-15 07:26:43 +00:00
SimplifyCFGPass.cpp Remove LLVMContext and its include. 2009-11-23 03:34:29 +00:00
SimplifyHalfPowrLibCalls.cpp improve portability to avoid conflicting with std::next in c++'0x. 2009-12-03 00:50:42 +00:00
SimplifyLibCalls.cpp optimize strstr, PR5783 2009-12-15 19:14:40 +00:00
TailDuplication.cpp remove a bunch of extraneous LLVMContext arguments 2009-11-06 04:27:31 +00:00
TailRecursionElimination.cpp Improve tail call elimination to handle the switch statement. 2009-11-07 21:10:15 +00:00