llvm/test/Transforms/IndVarSimplify
David Green a33c5722b0 [IndVarSimplify] Add AShr exact flags using induction variables ranges.
This adds exact flags to AShr/LShr flags where we can statically
prove it is valid using the range of induction variables. This
allows further optimisations to remove extra loads.

Differential Revision: https://reviews.llvm.org/D34207



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307157 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-05 13:25:58 +00:00
..
AMDGPU AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernel 2017-03-21 21:39:51 +00:00
NVPTX
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 [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
2005-06-15-InstMoveCrash.ll
2005-11-18-Crash.ll
2006-03-31-NegativeStride.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +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 [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
2007-06-06-DeleteDanglesPtr.ll
2007-11-23-BitcastCrash.ll
2008-06-15-SCEVExpanderBug.ll
2008-09-02-IVType.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
2008-10-03-CouldNotCompute.ll
2008-11-25-APFloatAssert.ll
2009-04-14-shorten_iv_vars.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
2009-04-15-shorten-iv-vars-2.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +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 ConstantFold: Fold getelementptr (i32, i32* null, i64 undef) to null. 2017-05-08 17:37:29 +00:00
2011-11-01-lftrptr.ll opt: Rename -default-data-layout flag to -data-layout and make it always override the layout. 2017-02-17 17:36:52 +00:00
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
ada-loops.ll
ashr-tripcount.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
avoid-i0.ll
backedge-on-min-max.ll [PM] Port IndVarSimplify to the new pass manager 2016-06-05 18:01:19 +00:00
bec-cmp.ll
casted-argument.ll
const_phi.ll
crash.ll
dangling-use.ll
divide-pointer.ll
dont-recompute.ll
elim-extend.ll Extend trip count instead of truncating IV in LFTR, when legal 2016-08-11 21:31:40 +00:00
eliminate-comparison.ll Revert "[IndVars] Canonicalize comparisons between non-negative values and indvars" 2017-07-05 09:44:41 +00:00
eliminate-max.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
eliminate-rem.ll
exit_value_test2.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
exit_value_test3.ll
exit_value_tests.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
floating-point-iv.ll
huge_muls.ll [SCEV] Make MulOpsInlineThreshold lower to avoid excessive compilation time 2017-06-21 07:28:13 +00:00
indirectbr.ll
interesting-invoke-use.ll
iterationCount_zext_or_trunc.ll
iv-fold.ll
iv-sext.ll
iv-widen-elim-ext.ll [IndVars] Change the order to compute WidenAddRec in widenIVUse. 2016-11-15 17:34:52 +00:00
iv-widen.ll [IndVars] Change the order to compute WidenAddRec in widenIVUse. 2016-11-15 17:34:52 +00:00
iv-zext.ll
lcssa-preservation.ll
lftr_disabled.ll [IndVars] Add an option to be able to disable LFTR 2017-06-09 06:11:59 +00:00
lftr_simple.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
lftr-address-space-pointers.ll [SCEV] Try to reuse existing value during SCEV expansion 2016-02-04 01:27:38 +00:00
lftr-extend-const.ll
lftr-other-uses.ll
lftr-promote.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
lftr-reuse.ll
lftr-udiv-tripcount.ll
lftr-wide-trip-count.ll Extend trip count instead of truncating IV in LFTR, when legal 2016-08-11 21:31:40 +00:00
lftr-zext.ll
loop_evaluate7.ll
loop_evaluate8.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop_evaluate9.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop_evaluate10.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop_evaluate11.ll
loop_evaluate_1.ll
loop_evaluate_2.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop_evaluate_3.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop_evaluate_4.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop_evaluate_5.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop_evaluate_6.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
loop-invariant-conditions.ll
lrev-existing-umin.ll
masked-iv.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
no-iv-rewrite.ll
overflow-intrinsics.ll [IndVars] Eliminate op.with.overflow when possible (re-apply) 2016-05-29 00:36:25 +00:00
phi-uses-value-multiple-times.ll
polynomial-expand.ll
post-inc-range.ll [IndVarSimplify] Teach calculatePostIncRange to take guards into account 2016-10-19 19:43:54 +00:00
pr18223.ll
pr20680.ll
pr22222.ll
pr24356.ll
pr24783.ll [SCEV] Try to reuse existing value during SCEV expansion 2016-02-04 01:27:38 +00:00
pr24804.ll
pr24952.ll
pr24956.ll
pr25047.ll
pr25051.ll
pr25060.ll
pr25360.ll
pr25421.ll
pr25576.ll
pr25578.ll
pr26207.ll
pr26973.ll [IndVars] Pass the right loop to isLoopInvariantPredicate 2016-03-18 20:37:07 +00:00
pr26974.ll [IndVars] Fix PR26974: make sure replaceCongruentIVs doesn't break LCSSA 2016-03-21 12:44:29 +00:00
pr27133.ll [IndVarSimplify] Don't insert after a catchswitch 2016-03-30 21:12:06 +00:00
pr28935.ll [IndVars] Ignore (s|z)exts that don't extend the induction variable 2016-08-13 00:58:31 +00:00
pr32045.ll [ValueTracking] Don't do an unchecked shift in ComputeNumSignBits 2017-02-25 20:30:45 +00:00
preserve-signed-wrap.ll
promote-iv-to-eliminate-casts.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
replace-sdiv-by-udiv.ll [SimplifyIndvar] Replace the sdiv used by IV if we can prove both of its operands are non-negative 2017-03-30 21:56:56 +00:00
rewrite-loop-exit-value.ll [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader 2016-01-27 07:40:41 +00:00
sharpen-range.ll [PM] Port IndVarSimplify to the new pass manager 2016-06-05 18:01:19 +00:00
shrunk-constant.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
signed-trip-count.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
single-element-range.ll
sink-alloca.ll
sink-trapping.ll [LLVM] Remove unwanted --check-prefix=CHECK from unit tests. NFC. 2016-04-19 23:51:52 +00:00
strengthen-overflow.ll [IndVarSimplify] Add AShr exact flags using induction variables ranges. 2017-07-05 13:25:58 +00:00
tripcount_compute.ll
tripcount_infinite.ll
udiv-invariant-but-traps.ll
udiv.ll [SCEV] Try to reuse existing value during SCEV expansion 2016-02-04 01:27:38 +00:00
uglygep.ll [IndVars] Un-grepify test; NFC 2016-08-03 20:53:23 +00:00
ult-sub-to-eq.ll Extend trip count instead of truncating IV in LFTR, when legal 2016-08-11 21:31:40 +00:00
use-range-metadata.ll
variable-stride-ivs-0.ll
variable-stride-ivs-1.ll
verify-scev.ll
widen-loop-comp.ll Revert "[IndVars] Canonicalize comparisons between non-negative values and indvars" 2017-07-05 09:44:41 +00:00
widen-nsw.ll
zext-nuw.ll