1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/test/Transforms/IndVarSimplify
David Majnemer f6b2c81f95 IndVarSimplify: check if loop invariant expansion can trap
IndVarSimplify is willing to move divide instructions outside of their
loop bodies if they are invariant of the loop.  However, it may not be
safe to expand them if we do not know if they can trap.

Instead, check to see if it is not safe to expand the instruction and
skip the expansion.

This fixes PR16041.

Testcase by Rafael Ávila de Espíndola.

llvm-svn: 183239
2013-06-04 17:51:58 +00:00
..
2002-09-09-PointerIndVar.ll
2003-04-16-ExprAnalysis.ll
2003-09-23-NotAtTop.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 01:28:40 +00:00
2003-12-10-RemoveInstrCrash.ll
2003-12-15-Crash.ll
2004-03-10-PHIInsertionBug.ll
2004-04-05-InvokeCastCrash.ll Move TargetData to DataLayout. 2012-10-08 16:39:34 +00:00
2004-04-07-ScalarEvolutionCrash.ll
2005-02-11-InvokeCrash.ll
2005-02-17-TruncateExprCrash.ll
2005-02-26-ExitValueCompute.ll
2005-06-15-InstMoveCrash.ll
2005-11-18-Crash.ll
2006-03-31-NegativeStride.ll
2006-06-16-Indvar-LCSSA-Crash.ll
2006-09-20-LFTR-Crash.ll
2006-12-10-BitCast.ll
2007-01-06-TripCount.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2007-06-06-DeleteDanglesPtr.ll
2007-11-23-BitcastCrash.ll
2008-06-15-SCEVExpanderBug.ll
2008-09-02-IVType.ll
2008-10-03-CouldNotCompute.ll
2008-11-25-APFloatAssert.ll
2009-04-14-shorten_iv_vars.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2009-04-15-shorten-iv-vars-2.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2009-04-22-IndvarCrash.ll
2009-04-27-Floating.ll
2009-05-24-useafterfree.ll
2011-09-10-widen-nsw.ll
2011-09-19-vectoriv.ll
2011-09-27-hoistsext.ll
2011-10-27-lftrnull.ll
2011-11-01-lftrptr.ll
2011-11-15-multiexit.ll
2011-11-17-selfphi.ll
2012-07-17-lftr-undef.ll indvars: Linear function test replace should avoid reusing undef. 2012-07-18 04:35:10 +00:00
2012-10-19-congruent-constant.ll SCEVExpander: Don't crash when trying to merge two constant phis. 2012-10-19 16:37:30 +00:00
ada-loops.ll
ashr-tripcount.ll
avoid-i0.ll
casted-argument.ll
crash.ll Tests: rewrite 'opt ... %s' to 'opt ... < %s' so that opt does not emit a ModuleID 2012-12-30 02:33:22 +00:00
dangling-use.ll
divide-pointer.ll
dont-recompute.ll IndVarSimplify: do not recompute an IV value outside of the loop if : 2013-03-19 20:00:22 +00:00
elim-extend.ll
eliminate-comparison.ll Follow up to 168711: It's safe to base this analysis on the found compare, just return the value for the right predicate. 2012-11-29 19:07:57 +00:00
eliminate-max.ll
eliminate-rem.ll
exit_value_tests.ll
floating-point-iv.ll
indirectbr.ll
interesting-invoke-use.ll
iterationCount_zext_or_trunc.ll
iv-fold.ll
iv-sext.ll
iv-zext.ll Disallow the undocumented practice of starting the datalayout string with '-'. 2012-11-23 14:51:42 +00:00
lftr_simple.ll
lftr-other-uses.ll
lftr-promote.ll
lftr-reuse.ll indvars: Linear function test replace should avoid reusing undef. 2012-07-18 04:35:10 +00:00
lit.local.cfg
loop_evaluate7.ll
loop_evaluate8.ll
loop_evaluate9.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
loop_evaluate10.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
loop_evaluate11.ll
loop_evaluate_1.ll
loop_evaluate_2.ll
loop_evaluate_3.ll
loop_evaluate_4.ll
loop_evaluate_5.ll
loop_evaluate_6.ll
masked-iv.ll
no-iv-rewrite.ll SCEVExpander: Don't crash when trying to merge two constant phis. 2012-10-19 16:37:30 +00:00
phi-uses-value-multiple-times.ll Revert the test moves from 176733. Use "REQUIRES: asserts" instead. 2013-03-12 16:27:52 +00:00
polynomial-expand.ll
preserve-signed-wrap.ll
promote-iv-to-eliminate-casts.ll
shrunk-constant.ll
signed-trip-count.ll
single-element-range.ll
sink-alloca.ll
sink-trapping.ll
tripcount_compute.ll
tripcount_infinite.ll
udiv-invariant-but-traps.ll IndVarSimplify: check if loop invariant expansion can trap 2013-06-04 17:51:58 +00:00
udiv.ll
uglygep.ll
ult-sub-to-eq.ll
variable-stride-ivs-0.ll
variable-stride-ivs-1.ll
verify-scev.ll Fix SCEV cache invalidation in LCSSA and LoopSimplify. 2012-10-26 17:31:43 +00:00