llvm-6502/lib/Transforms/Scalar
Dan Gohman afc36a9520 Previously, RecursivelyDeleteDeadInstructions provided an option
of returning a list of pointers to Values that are deleted. This was
unsafe, because the pointers in the list are, by nature of what
RecursivelyDeleteDeadInstructions does, always dangling. Replace this
with a simple callback mechanism. This may eventually be removed if
all clients can reasonably be expected to use CallbackVH.

Use this to factor out the dead-phi-cycle-elimination code from LSR
utility function, and generalize it to use the
RecursivelyDeleteTriviallyDeadInstructions utility function.

This makes LSR more aggressive about eliminating dead PHI cycles;
adjust tests to either be less trivial or to simply expect fewer
instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70636 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-02 18:29:22 +00:00
..
ADCE.cpp Re-commit 65975 and a fix for the problem that 2009-03-04 21:24:04 +00:00
BasicBlockPlacement.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
CMakeLists.txt CMake: updated list of source files. 2008-11-05 00:11:22 +00:00
CodeGenPrepare.cpp remove empty section 2009-04-07 02:55:53 +00:00
CondPropagate.cpp Avoid making the transformation enabled by my last patch if the new destinations have phi nodes. 2009-04-15 00:43:54 +00:00
ConstantProp.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
DCE.cpp Eliminate several more unnecessary intptr_t casts. 2009-02-18 05:09:16 +00:00
DeadStoreElimination.cpp Rename getABITypeSize to getTypePaddedSize, as 2009-01-12 20:38:59 +00:00
GVN.cpp Reapply r68211, with the miscompilations it caused fixed. 2009-04-01 23:53:49 +00:00
GVNPRE.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
IndVarSimplify.cpp Remove an obsolete comment. 2009-04-27 22:12:34 +00:00
InstructionCombining.cpp Return null instead of false, as appropriate. 2009-04-25 17:28:45 +00:00
JumpThreading.cpp Fix a debug info dependency in jump threading. 2009-03-17 00:38:24 +00:00
LICM.cpp Revert r67798: it breaks llvm-gcc bootstrap on x86-64-linux, presumably due to 2009-03-27 14:56:47 +00:00
LoopDeletion.cpp Tell ScalarEvolution that the loop is being deleted before actually 2009-05-02 17:29:26 +00:00
LoopIndexSplit.cpp Reword and tidy up some comments. 2009-04-29 22:01:05 +00:00
LoopRotation.cpp Do not count DbgInfoIntrinsic while estimating loop header size. 2009-03-06 03:51:30 +00:00
LoopStrengthReduce.cpp Previously, RecursivelyDeleteDeadInstructions provided an option 2009-05-02 18:29:22 +00:00
LoopUnroll.cpp Adjust loop size estimate for full unrolling; 2009-04-20 22:19:33 +00:00
LoopUnswitch.cpp Remove strange extra semicolons. 2009-03-19 05:51:39 +00:00
Makefile Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
MemCpyOptimizer.cpp Remove strange extra semicolons. 2009-03-19 05:51:39 +00:00
PredicateSimplifier.cpp Silence unused variable warnings. 2008-11-21 20:00:59 +00:00
Reassociate.cpp Make the key of ValueRankMap an AssertingVH, so that we die violently 2009-03-31 22:13:29 +00:00
Reg2Mem.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
Scalar.cpp add a bunch more passes to the C bindings (PR3734), patch by 2009-03-06 16:52:18 +00:00
ScalarReplAggregates.cpp fix a crash on a pointless but valid zero-length memset, rdar://6808691 2009-04-21 16:52:12 +00:00
SCCP.cpp Factorize out a concept - no functionality change. 2009-03-21 21:27:31 +00:00
SimplifyCFGPass.cpp Revert r66920. It was causing failures in the self-hosting buildbot (in release 2009-03-13 21:15:59 +00:00
SimplifyHalfPowrLibCalls.cpp eliminate warning when asserts disabled. 2008-12-14 21:36:23 +00:00
SimplifyLibCalls.cpp "There was a typo in my previous patch which leads to miscompilation of 2009-04-12 18:22:33 +00:00
TailDuplication.cpp simplify code. 2008-11-27 22:56:14 +00:00
TailRecursionElimination.cpp Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00