llvm-project/llvm/test/Transforms/LoopStrengthReduce
Andrew Trick 070e540a3e LSR fix: Add isSimplifiedLoopNest to IVUsers analysis.
Only record IVUsers that are dominated by simplified loop
headers. Otherwise SCEVExpander will crash while looking for a
preheader.

I previously tried to work around this in LSR itself, but that was
insufficient. This way, LSR can continue to run if some uses are not
in simple loops, as long as we don't attempt to analyze those users.

Fixes <rdar://problem/11049788> Segmentation fault: 11 in LoopStrengthReduce

llvm-svn: 152892
2012-03-16 03:16:56 +00:00
..
ARM Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
X86 Move llc + target triple tests into X86 2012-03-10 19:03:51 +00:00
2005-08-15-AddRecIV.ll
2005-08-17-OutOfLoopVariant.ll
2005-09-12-UsesOutOutsideOfLoop.ll
2007-04-23-UseIterator.ll
2008-08-13-CmpStride.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
2008-08-14-ShadowIV.ll
2008-09-09-Overflow.ll
2009-01-13-nonconstant-stride-outside-loop.ll
2009-04-28-no-reduce-mul.ll
2011-07-19-CritEdgeBreakCrash.ll PR10386: Don't try to split an edge from an indirectbr. 2011-07-19 22:59:41 +00:00
2011-07-20-DoubleIV.ll LSR, correct fix for rdar://9786536. Silly casting bug. 2011-07-21 01:45:54 +00:00
2011-10-03-CritEdgeMerge.ll LSR should avoid redundant edge splitting. 2011-10-04 03:50:44 +00:00
2011-10-06-ReusePhi.ll Unit test for LSR phi reuse in r141442. 2011-10-08 02:34:51 +00:00
2011-10-13-SCEVChain.ll Reapply r141870, SCEV expansion of post-inc. 2011-10-13 21:55:29 +00:00
2011-10-14-IntPtr.ll Fix SCEVExpander assert during LSR: "argument of incompatible type". 2011-10-15 06:19:55 +00:00
2011-12-19-PostincQuadratic.ll Unit test for r146950: LSR postinc expansion, PR11571. 2011-12-20 01:43:20 +00:00
2012-01-02-nopreheader.ll Test case rename 2012-01-17 22:27:45 +00:00
2012-01-16-nopreheader.ll LSR fix: broaden the check for loop preheaders. 2012-01-17 06:45:52 +00:00
2012-03-15-nopreheader.ll LSR fix: Add isSimplifiedLoopNest to IVUsers analysis. 2012-03-16 03:16:56 +00:00
count-to-zero.ll
dead-phi.ll
different-type-ivs.ll
dominate-assert.ll Fix this assert. IP can point to an instruction with strange dominance 2012-02-27 02:13:03 +00:00
dont-hoist-simple-loop-constants.ll
dont_insert_redundant_ops.ll
dont_reduce_bytes.ll
dont_reverse.ll
exit_compare_live_range.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
hoist-parent-preheader.ll
invariant_value_first.ll Removed colons from some target datalayout strings in test, since they don't match the required format. 2011-10-12 22:24:17 +00:00
invariant_value_first_arg.ll Removed colons from some target datalayout strings in test, since they don't match the required format. 2011-10-12 22:24:17 +00:00
ivchain.ll Handle a corner case with IV chain collection with bailout instead of assert. 2012-01-20 21:23:40 +00:00
lit.local.cfg Replace all instances of dg.exp file with lit.local.cfg, since all tests are run with LIT now and now Dejagnu. dg.exp is no longer needed. 2012-02-16 06:28:33 +00:00
nested-reduce.ll
nonlinear-postinc.ll
ops_after_indvar.ll Removed colons from some target datalayout strings in test, since they don't match the required format. 2011-10-12 22:24:17 +00:00
phi_node_update_multiple_preds.ll
post-inc-icmpzero.ll comment typo 2012-01-07 00:29:20 +00:00
pr2537.ll
pr2570.ll
pr3086.ll
pr3399.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
pr3571.ll
pr12018.ll Don't skip debug instructions when looking for the insertion point of 2012-02-18 17:22:58 +00:00
pr12048.ll Semantically revert 151015. Add a comment on why we should be able to assert 2012-02-22 03:21:39 +00:00
quadradic-exit-value.ll
related_indvars.ll
remove_indvar.ll
share_code_in_preheader.ll
share_ivs.ll
uglygep.ll
use_postinc_value_outside_loop.ll
var_stride_used_by_compare.ll Removed colons from some target datalayout strings in test, since they don't match the required format. 2011-10-12 22:24:17 +00:00
variable_stride.ll