llvm-6502/test/Transforms/IndVarSimplify
Andrew Trick 53b28f8623 indvars: Improve LFTR by eliminating truncation when comparing against a constant.
Patch by Michele Scandale!

Adds a special handling of the case where, during the loop exit
condition rewriting, the exit value is a constant of bitwidth lower
than the type of the induction variable: instead of introducing a
trunc operation in order to match correctly the operand types, it
allows to convert the constant value to an equivalent constant,
depending on the initial value of the induction variable and the trip
count, in order have an equivalent comparison between the induction
variable and the new constant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186107 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-11 17:08:59 +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 Update to new EH scheme. 2011-09-01 01:02:41 +00:00
2005-02-17-TruncateExprCrash.ll Update to new EH scheme. 2011-09-01 01:02:41 +00:00
2005-02-26-ExitValueCompute.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2005-06-15-InstMoveCrash.ll
2005-11-18-Crash.ll
2006-03-31-NegativeStride.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
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 Remove redundant -enable-iv-rewrite=false flags from test cases. 2012-03-22 17:09:04 +00:00
2011-09-19-vectoriv.ll [indvars] Fix PR10946: SCEV cannot handle Vector IVs. 2011-09-19 17:54:39 +00:00
2011-09-27-hoistsext.ll Test case for r140670: indvars should hoist sext. 2011-09-28 02:13:32 +00:00
2011-10-27-lftrnull.ll LFTR should avoid a type mismatch with null pointer IVs. 2011-10-28 03:45:11 +00:00
2011-11-01-lftrptr.ll Remove redundant -enable-iv-rewrite=false flags from test cases. 2012-03-22 17:09:04 +00:00
2011-11-15-multiexit.ll Fix SCEV overly optimistic back edge taken count for multi-exit loops. 2011-11-16 00:52:40 +00:00
2011-11-17-selfphi.ll Fix an overly general check in SimplifyIndvar to handle useless phi cycles. 2011-11-17 23:36:35 +00:00
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 Remove redundant -enable-iv-rewrite=false flags from test cases. 2012-03-22 17:09:04 +00:00
ashr-tripcount.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
avoid-i0.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
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 Remove redundant -enable-iv-rewrite=false flags from test cases. 2012-03-22 17:09:04 +00:00
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
eliminate-rem.ll
exit_value_tests.ll
exitcnt-const-arstart-const-opt.ll indvars: Improve LFTR by eliminating truncation when comparing against a constant. 2013-07-11 17:08:59 +00:00
floating-point-iv.ll Reapply r139759. Disable IV rewriting by default. See PR10916. 2011-09-15 20:58:37 +00:00
indirectbr.ll
interesting-invoke-use.ll Update to new EH scheme. 2011-09-01 01:02:41 +00:00
iterationCount_zext_or_trunc.ll
iv-fold.ll Remove redundant -enable-iv-rewrite=false flags from test cases. 2012-03-22 17:09:04 +00:00
iv-sext.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
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 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
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 Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
loop_evaluate_4.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
loop_evaluate_5.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
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 Remove redundant -enable-iv-rewrite=false flags from test cases. 2012-03-22 17:09:04 +00:00
promote-iv-to-eliminate-casts.ll
shrunk-constant.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
signed-trip-count.ll
single-element-range.ll
sink-alloca.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
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 Teach SCEV's icmp simplification logic that a-b == 0 is equivalent to a == b. 2012-05-30 18:32:23 +00:00
variable-stride-ivs-0.ll Remove redundant -enable-iv-rewrite=false flags from test cases. 2012-03-22 17:09:04 +00:00
variable-stride-ivs-1.ll
verify-scev.ll Fix SCEV cache invalidation in LCSSA and LoopSimplify. 2012-10-26 17:31:43 +00:00