llvm/test/Transforms/IndVarSimplify
Andrew Trick fcbe3d9501 indvars: insert truncate at loop boundary to avoid redundant IVs.
When widening an IV to remove s/zext, we generally try to eliminate
the original narrow IV. However, LCSSA phi nodes outside the loop were
still using the original IV. Clean this up more aggressively to avoid
redundancy in generated code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198338 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-02 19:29:38 +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 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
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
2011-09-27-hoistsext.ll
2011-10-27-lftrnull.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2011-11-01-lftrptr.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2011-11-15-multiexit.ll
2011-11-17-selfphi.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-07-17-lftr-undef.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-10-19-congruent-constant.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +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
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 Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +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 Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +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 Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
exit_value_tests.ll
floating-point-iv.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
indirectbr.ll
interesting-invoke-use.ll
iterationCount_zext_or_trunc.ll
iv-fold.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
iv-sext.ll
iv-widen.ll indvars: insert truncate at loop boundary to avoid redundant IVs. 2014-01-02 19:29:38 +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-address-space-pointers.ll Teach loop-idiom about address space pointer sizes 2013-09-11 05:09:42 +00:00
lftr-extend-const.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
lftr-other-uses.ll
lftr-promote.ll
lftr-reuse.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
lftr-zext.ll Fix a bug in LinearFunctionTestReplace that created invalid loop exit checks. 2013-10-24 05:29:56 +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 Add test case for PR12377, it was fixed by r194116. 2013-11-06 11:55:41 +00:00
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 Rewrite SCEV's backedge taken count computation. 2013-11-06 02:08:26 +00:00
masked-iv.ll
no-iv-rewrite.ll Rewrite SCEV's backedge taken count computation. 2013-11-06 02:08:26 +00:00
overflowcheck.ll Add support to indvars for optimizing sadd.with.overflow. 2013-12-23 23:31:49 +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
sink-trapping.ll
tripcount_compute.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
tripcount_infinite.ll
udiv-invariant-but-traps.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
udiv.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
uglygep.ll
ult-sub-to-eq.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +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
widen-nsw.ll Teach indvars to generate nsw/nuw flags when widening an induction variable. 2013-07-14 02:50:07 +00:00