llvm-project/llvm/test/Analysis/ScalarEvolution
Nikita Popov ac87480bd8 [SCEV] Recognize min/max intrinsics
Recognize umin/umax/smin/smax intrinsics and convert them to the
already existing SCEV nodes of the same name.

In the future we'll want SCEVExpander to also produce the intrinsics,
but we're not ready for that yet.

Differential Revision: https://reviews.llvm.org/D87160
2020-09-05 16:30:11 +02:00
..
2007-07-15-NegativeStride.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2007-08-06-MisinterpretBranch.ll
2007-08-06-Unsigned.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2007-09-27-LargeStepping.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2007-11-14-SignedAddRec.ll
2007-11-18-OrInstruction.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-02-11-ReversedCondition.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-02-12-SMAXTripCount.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-02-15-UMax.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-05-25-NegativeStepToZero.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-06-12-BinomialInt64.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-07-12-UnneededSelect1.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-07-12-UnneededSelect2.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-07-19-InfiniteLoop.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-07-19-WrappingIV.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-07-29-SGTTripCount.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-07-29-SMinExpr.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-08-04-IVOverflow.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-08-04-LongAddRec.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-11-02-QuadraticCrash.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-11-15-CubicOOM.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-11-18-LessThanOrEqual.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-11-18-Stride1.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-11-18-Stride2.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-12-08-FiniteSGE.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-12-11-SMaxOverflow.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-12-14-StrideAndSigned.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2008-12-15-DontUseSDiv.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2009-01-02-SignedNegativeStride.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2009-04-22-TruncCast.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2009-05-09-PointerEdgeCount.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2009-07-04-GroupConstantsWidthMismatch.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2010-09-03-RequiredTransitive.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2011-03-09-ExactNoMaxBECount.ll
2011-04-26-FoldAddRec.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2011-10-04-ConstEvolve.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
2012-03-26-LoadConstant.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
2012-05-18-LoopPredRecurse.ll [NPM][IVUsers] Rename ivusers -> iv-users 2020-07-15 09:38:21 -07:00
2012-05-29-MulAddRec.ll Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
SolveQuadraticEquation.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
ZeroStep.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
add-expr-pointer-operand-sorting.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
add-like-or.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
and-xor.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
avoid-assume-hang.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
avoid-infinite-recursion-0.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
avoid-infinite-recursion-1.ll [NPM][IVUsers] Rename ivusers -> iv-users 2020-07-15 09:38:21 -07:00
avoid-smax-0.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
avoid-smax-1.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
binomial-explision.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
cache_loop_exit_limit.ll
constant_condition.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
depth-limit-overrun.ll [NewPM][LSR] Rename strength-reduce -> loop-reduce 2020-07-02 11:15:29 -07:00
different-loops-recs.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
div-overflow.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
do-loop.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
exact-exit-count-more-precise.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
exact_iter_count.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
exhaustive-trip-counts.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
expander-replace-congruent-ivs.ll
exponential-behavior.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
ext-antecedent.ll
extract-highbits-sameconstmask.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
extract-highbits-variablemask.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
extract-lowbits-sameconstmask.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
extract-lowbits-variablemask.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
flags-from-poison-dbg.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
flags-from-poison.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
flattened-0.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
fold.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
guards.ll
how-far-to-zero.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
huge_expression_limit.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
implied-via-addition.ll
implied-via-division.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
incorrect-nsw.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
increasing-or-decreasing-iv.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
infer-prestart-no-wrap.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
infer-via-ranges.ll
inner-loop-by-latch-cond-unknown.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
invalidation.ll
latch-dominating-conditions.ll
limit-depth.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
load-with-range-metadata.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
load.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
lshr-shl-differentconstmask.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
max-addops-inline.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
max-addrec-size.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
max-be-count-not-constant.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
max-expr-cache.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
max-mulops-inline.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
max-trip-count-address-space.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
max-trip-count.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
merge-add-rec-many-inputs.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
min-max-exprs.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
minmax-intrinsics.ll [SCEV] Recognize min/max intrinsics 2020-09-05 16:30:11 +02:00
multiple-max-iterations.ll
no-wrap-add-exprs.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
no-wrap-unknown-becount.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
non-IV-phi.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
nowrap-preinc-limits.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
nsw-offset-assume.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
nsw-offset.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
nsw.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
nw-sub-is-not-nw-add.ll
overflow-intrinsics-trip-count.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
overflow-intrinsics.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pointer-sign-bits.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr3909.ll
pr18606-min-zeros.ll
pr18606.ll
pr22179.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr22641.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr22674.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
pr22856.ll
pr24757.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr25369.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr27315.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr34538.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr35890.ll
pr40420.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
pr44605.ll [SCEV] Use backedge SCEV of PHI only if its input is loop invariant 2020-03-31 18:39:24 +07:00
pr46786.ll [Test] Add more simple tests for PR46786 2020-07-22 17:11:26 +07:00
predicated-trip-count.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
range-signedness.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
range_nw_flag.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
returned.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
scalable-vector.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
scev-aa.ll [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
scev-canonical-mode.ll Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08:00
scev-dispositions.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
scev-expander-existing-value-offset.ll
scev-expander-incorrect-nowrap.ll
scev-expander-reuse-gep.ll
scev-expander-reuse-unroll.ll
scev-expander-reuse-vect.ll
scev-invalid.ll
scev-prestart-nowrap.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sdiv.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sext-inreg.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sext-iv-0.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sext-iv-1.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sext-iv-2.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sext-mul.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sext-to-zext.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sext-zero.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
shift-op.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
shl-lshr-differentconstmask.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
sle.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
smax-br-phi-idioms.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
smin-smax-folds.ll [SCEV] ] If RHS >= Start, simplify (Start smax RHS) to RHS for trip counts. 2020-08-11 13:20:24 +01:00
solve-quadratic-i1.ll Revert "[SCEV] Look through single value PHIs." 2020-08-12 23:13:24 -07:00
solve-quadratic-overflow.ll Revert "[SCEV] Look through single value PHIs." 2020-08-12 23:13:24 -07:00
solve-quadratic.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
srem.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
strip-injective-zext.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count-andor.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count-pow2.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count-switch.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count-unknown-stride.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count2.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count3.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count4.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count5.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count6.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count7.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count8.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count9.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count10.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count11.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count12.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count13.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count14.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trip-count15.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
tripmultiple_calculation.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
trivial-phis.ll [SCEV] Add additional tests. 2020-07-28 16:15:57 +01:00
trunc-simplify.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
truncate.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
umin-umax-folds.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
undefined.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
unknown_phis.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
unreachable-code.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
unsimplified-loop.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
urem-0.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
widenable-condition.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
zext-divrem.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
zext-mul.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00
zext-signed-addrec.ll
zext-wrap.ll [SCEV] Fix ScalarEvolution tests under NPM 2020-07-16 11:24:07 -07:00