llvm-6502/test/Transforms/LoopStrengthReduce
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
..
2005-08-15-AddRecIV.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
2005-08-17-OutOfLoopVariant.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
2005-09-12-UsesOutOutsideOfLoop.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
2007-04-23-UseIterator.ll
2008-08-06-CmpStride.ll PR2535, not PR2355. 2008-08-06 18:06:48 +00:00
2008-08-13-CmpStride.ll Check sign to detect overflow before changing compare stride. 2008-08-13 02:05:14 +00:00
2008-08-14-ShadowIV.ll If IV is used in a int-to-float cast inside the loop then try to eliminate the cast operation. 2008-08-26 17:57:54 +00:00
2008-09-09-Overflow.ll fix overflow check. 2008-09-09 20:54:34 +00:00
2009-01-13-nonconstant-stride-outside-loop.ll Fix the time regression I introduced in 464.h264ref with 2009-01-14 02:35:31 +00:00
2009-02-09-ivs-different-sizes.ll Fix PR 3471, and some cleanups. 2009-02-09 22:14:15 +00:00
2009-04-28-no-reduce-mul.ll Fix recent regression in gcc.dg/pr26719.c (6835035). 2009-04-29 16:38:47 +00:00
change-compare-stride-trickiness-0.ll Refine the change in r52258 for avoiding use-before-def conditions 2008-06-16 22:34:15 +00:00
change-compare-stride-trickiness-1.ll Teach getZeroExtendExpr and getSignExtendExpr to use trip-count 2009-04-27 20:16:15 +00:00
dead-phi.ll Improve LSR's dead-phi detection to handle use-def cycles 2008-06-22 20:44:02 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
different-type-ivs.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
dont_insert_redundant_ops.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
dont_reduce_bytes.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
dont-hoist-simple-loop-constants.ll Update old-style syntax in some "not grep" tests. 2008-05-01 23:50:07 +00:00
exit_compare_live_range.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
invariant_value_first_arg.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
invariant_value_first.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
nested-reduce.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
ops_after_indvar.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
phi_node_update_multiple_preds.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
pr2537.ll Testcase for PR2537. 2009-04-23 04:26:42 +00:00
pr2570.ll Previously, RecursivelyDeleteDeadInstructions provided an option 2009-05-02 18:29:22 +00:00
pr3086.ll Don't try to mix integers and pointers in an icmp instruction 2009-04-30 16:40:30 +00:00
pr3399.ll Strengthen the "non-constant stride must dominate loop preheader" check. 2009-02-17 00:13:06 +00:00
pr3571.ll Fix pr3571: If stride is a value defined by an instruction, make sure it dominates the loop preheader. When IV users are strength reduced, the stride is inserted into the preheader. It could create a use before def situation. 2009-02-15 06:06:15 +00:00
related_indvars.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
remove_indvar.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
share_code_in_preheader.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
share_ivs.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
use_postinc_value_outside_loop.ll Implement "superhero" strength reduction, or full strength 2009-02-20 04:17:46 +00:00
var_stride_used_by_compare.ll Upgrade tests. 2008-03-19 07:28:33 +00:00
variable_stride.ll Upgrade tests. 2008-03-19 07:28:33 +00:00