llvm-6502/test/Transforms/IndVarSimplify
Dan Gohman 453aa4fbf1 Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid
sending SCEVUnknowns to expandAddToGEP. This avoids the need for
expandAddToGEP to bend the rules and peek into SCEVUnknown
expressions.

Factor out the code for testing whether a SCEV can be factored by
a constant for use in a GEP index. This allows it to handle
SCEVAddRecExprs, by recursing.

As a result, SCEVExpander can now put more things in GEP indices,
so it emits fewer explicit mul instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72366 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-24 18:06:31 +00:00
..
2002-09-09-PointerIndVar.ll
2003-04-16-ExprAnalysis.ll
2003-09-12-MultiplePred.ll
2003-09-23-NotAtTop.ll Make this testcase slightly less trivial, so that it doesn't fail 2009-04-28 22:03:26 +00:00
2003-12-10-IndVarDeadCode.ll
2003-12-10-RemoveInstrCrash.ll
2003-12-15-Crash.ll
2003-12-21-IndVarSize.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-01-08-X86-64-Pointer.ll Add nounwind to a few tests. 2009-05-18 15:16:49 +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-03-Floating.ll
2008-11-17-Floating.ll
2008-11-25-APFloatAssert.ll
2009-04-14-shorten_iv_vars.ll Enhance induction variable code to remove the 2009-04-15 01:10:12 +00:00
2009-04-15-shorten-iv-vars-2.ll Factor the code for collecting IV users out of LSR into an IVUsers class, 2009-05-12 02:17:14 +00:00
2009-04-22-IndvarCrash.ll Make sure both operands have binary instructions have the same type. 2009-04-22 23:39:28 +00:00
2009-04-27-Floating.ll Fix PR 4086, a bug in FP IV elimination. 2009-04-27 21:03:15 +00:00
2009-05-24-useafterfree.ll The rewriter may hold references to instructions that are deleted because they are trivially dead. 2009-05-24 14:23:16 +00:00
ada-loops.ll Factor the code for collecting IV users out of LSR into an IVUsers class, 2009-05-12 02:17:14 +00:00
addrec-gep.ll Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid 2009-05-24 18:06:31 +00:00
avoid-i0.ll Handle ands with ~0 correctly too. This fixes PR4052. 2009-04-27 01:41:10 +00:00
casted-argument.ll Fix an error in this test. 2009-04-23 15:22:28 +00:00
complex-scev.ll
dg.exp
exit_value_tests.ll
gep-with-mul-base.ll Generalize SCEVExpander::visitAddRecExpr's GEP persuit, and avoid 2009-05-24 18:06:31 +00:00
interesting-invoke-use.ll Teach IndVarSimplify's FixUsesBeforeDefs to handle InvokeInsts by 2009-05-22 16:47:11 +00:00
iterationCount_zext_or_trunc.ll
iv-zext.ll Factor the code for collecting IV users out of LSR into an IVUsers class, 2009-05-12 02:17:14 +00:00
lftr_simple.ll
loop_evaluate_1.ll
loop_evaluate_2.ll
loop_evaluate_3.ll
loop_evaluate_4.ll
loop_evaluate_5.ll When forgetting SCEVs for loop PHIs, don't forget SCEVUnknown values. 2009-05-12 01:27:58 +00:00
loop_evaluate_6.ll Factor the code for collecting IV users out of LSR into an IVUsers class, 2009-05-12 02:17:14 +00:00
pointer-indvars.ll
preserve-gep.ll Teach SCEVExpander to expand arithmetic involving pointers into GEP 2009-05-19 02:15:55 +00:00
preserve-signed-wrap.ll Back out the change in 64918 that used sign-extensions when promoting 2009-02-23 23:20:35 +00:00
promote-iv-to-eliminate-casts.ll Back out the change in 64918 that used sign-extensions when promoting 2009-02-23 23:20:35 +00:00
signed-trip-count.ll Back out the change in 64918 that used sign-extensions when promoting 2009-02-23 23:20:35 +00:00
subtract.ll
tripcount_compute.ll
tripcount_infinite.ll
variable-stride-ivs.ll