llvm-6502/test/Transforms
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
ArgumentPromotion Fix typo. 2009-04-23 04:24:19 +00:00
BlockPlacement
BranchFolding
CodeExtractor
CodeGenPrepare
CondProp Optimize conditional branch on i1 phis with non-constant inputs. 2009-04-14 23:40:03 +00:00
ConstantMerge
ConstProp
DeadArgElim aha, DAE does have to think about PHI nodes. Many thanks to "Dr Evil" (aka Duncan) 2009-03-18 16:48:45 +00:00
DeadStoreElimination
FunctionAttrs
GlobalDCE Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
GlobalOpt Ignore debug info while evaluating function. 2009-03-09 23:04:12 +00:00
GVN Reapply r68211, with the miscompilations it caused fixed. 2009-04-01 23:53:49 +00:00
GVNPRE
IndMemRem
IndVarSimplify Make this testcase slightly less trivial, so that it doesn't fail 2009-04-28 22:03:26 +00:00
Inline While inlining, clone llvm.dbg.func.start intrinsic and adjust 2009-04-15 00:17:06 +00:00
InstCombine Add several more icmp simplifications. Transform signed comparisons 2009-04-25 17:12:48 +00:00
Internalize
IPConstantProp
JumpThreading
LCSSA
LICM Before deleting a basic block, give other loop passes a chance cleanup analysis values, related to the instructions in the basic block. 2009-03-25 23:57:48 +00:00
LoopDeletion
LoopIndexSplit Loop Index Split can eliminate a loop if it can determin if loop body is executed only once. There was a bug in determining IV based value of the iteration for which the loop body is executed. Fix it. 2009-03-30 22:24:10 +00:00
LoopRotate Testcase for PR2639. 2009-04-23 04:30:52 +00:00
LoopSimplify As with r70333, give the primary induction variable a use so 2009-04-28 22:05:13 +00:00
LoopStrengthReduce Previously, RecursivelyDeleteDeadInstructions provided an option 2009-05-02 18:29:22 +00:00
LoopUnroll remove a test that depends on -debug. 2009-03-13 20:31:48 +00:00
LoopUnswitch
LowerInvoke
LowerSetJmp
LowerSwitch
Mem2Reg
MemCpyOpt
MergeFunc
PredicateSimplifier
PruneEH
RaiseAllocations
Reassociate
ScalarRepl fix a crash on a pointless but valid zero-length memset, rdar://6808691 2009-04-21 16:52:12 +00:00
SCCP adjust for asmprinter change. 2009-03-01 00:25:46 +00:00
SimplifyCFG While hoisting instruction to speculatively execute simple bb, ignore dbg intrinsics. 2009-03-06 06:00:17 +00:00
SimplifyLibCalls add some optimizations for strncpy/strncat and factor some 2009-04-12 05:06:39 +00:00
SRETPromotion
StripSymbols
TailCallElim
TailDup