llvm-6502/test/Transforms/IndVarSimplify
David Majnemer 280476e7c6 Merging rr217102:
------------------------------------------------------------------------
r217102 | majnemer | 2014-09-03 16:03:18 -0700 (Wed, 03 Sep 2014) | 11 lines

IndVarSimplify: Don't let LFTR compare against a poison value

LinearFunctionTestReplace tries to use the *next* indvar to compare
against when possible.  However, it may be the case that the calculation
for the next indvar has NUW/NSW flags and that it may only be safely
used inside the loop.  Using it in a comparison to calculate the exit
condition could result in observing poison.

This fixes PR20680.

Differential Revision: http://reviews.llvm.org/D5174
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_35@223637 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-08 08:50:22 +00:00
..
2002-09-09-PointerIndVar.ll
2003-04-16-ExprAnalysis.ll
2003-09-23-NotAtTop.ll
2003-12-10-RemoveInstrCrash.ll
2003-12-15-Crash.ll
2004-03-10-PHIInsertionBug.ll
2004-04-05-InvokeCastCrash.ll
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
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
2009-04-15-shorten-iv-vars-2.ll
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 Merging rr217102: 2014-12-08 08:50:22 +00:00
2011-11-01-lftrptr.ll
2011-11-15-multiexit.ll
2011-11-17-selfphi.ll
2012-07-17-lftr-undef.ll
2012-10-19-congruent-constant.ll
2014-06-21-congruent-constant.ll Add a description to the test from r211433 explaining why it's written that way. 2014-06-22 12:22:04 +00:00
ada-loops.ll
ashr-tripcount.ll
avoid-i0.ll
casted-argument.ll
crash.ll
dangling-use.ll
divide-pointer.ll
dont-recompute.ll
elim-extend.ll
eliminate-comparison.ll
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-widen.ll
iv-zext.ll
lcssa-preservation.ll
lftr_simple.ll
lftr-address-space-pointers.ll Merging rr217102: 2014-12-08 08:50:22 +00:00
lftr-extend-const.ll Merging rr217102: 2014-12-08 08:50:22 +00:00
lftr-other-uses.ll
lftr-promote.ll
lftr-reuse.ll Merging rr217102: 2014-12-08 08:50:22 +00:00
lftr-zext.ll
loop_evaluate7.ll
loop_evaluate8.ll
loop_evaluate9.ll
loop_evaluate10.ll
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
overflowcheck.ll
phi-uses-value-multiple-times.ll
polynomial-expand.ll
pr18223.ll ScalarEvolution: Fix handling of AddRecs in isKnownPredicate 2014-05-23 00:06:56 +00:00
pr20680.ll Merging rr217102: 2014-12-08 08:50:22 +00:00
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
udiv.ll
uglygep.ll
ult-sub-to-eq.ll
variable-stride-ivs-0.ll
variable-stride-ivs-1.ll
verify-scev.ll
widen-nsw.ll