1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/Transforms/LoopVectorize
Sjoerd Meijer e5c42c0c3a [ARM][MVE] Only tail-fold integer add reductions
If a vector body has live-out values, it is probably a reduction, which needs a
final reduction step after the loop. MVE has a VADDV instruction to reduce
integer vectors, but doesn't have an equivalent one for float vectors. A
live-out value that is not recognised as reduction later in the optimisation
pipeline will result in the tail-predicated loop to be reverted to a
non-predicated loop and this is very expensive, i.e. it has a significant
performance impact, which is what we hope to avoid with fine tuning the ARM TTI
hook preferPredicateOverEpilogue implementation.

Differential Revision: https://reviews.llvm.org/D82953
2020-07-14 10:15:07 +01:00
..
AArch64 [AArch64] Add getCFInstrCost, treat branches as free for throughput. 2020-06-30 20:34:04 +01:00
AMDGPU
ARM [ARM][MVE] Only tail-fold integer add reductions 2020-07-14 10:15:07 +01:00
Hexagon Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
PowerPC [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
SystemZ [CostModel] getCFInstrCost in getUserCost. 2020-06-15 09:28:46 +01:00
X86 [LV] Vectorize without versioning-for-unit-stride under -Os/-Oz 2020-07-07 15:04:21 +03:00
XCore
12-12-11-if-conv.ll
2012-10-20-infloop.ll
2012-10-22-isconsec.ll
2016-07-27-loop-vec.ll
alias-set-with-uncomputable-bounds.ll [LAA] Do not set CanDoRT to false for AS that do not need RT checks. 2020-06-14 20:55:59 +01:00
align.ll
assume.ll [LV] Allow assume calls in predicated blocks. 2020-01-16 10:11:35 +00:00
bsd_regex.ll
bzip_reverse_loops.ll
calloc.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
cast-induction.ll
check-prof-info.ll [LV] Vectorizer should adjust trip count in profile information 2020-01-20 18:36:28 +07:00
conditional-assignment.ll
consec_no_gep.ll
consecutive-ptr-uniforms.ll
control-flow.ll
cpp-new-array.ll
dbg.value.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
dead_instructions.ll
debugloc.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
demanded-bits-of-pointer-instruction.ll
diag-missing-instr-debug-loc.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
diag-with-hotness-info-2.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
diag-with-hotness-info.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
disable_nonforced_enable.ll
disable_nonforced.ll
discriminator.ll
ee-crash.ll
exact.ll
explicit_outer_detection.ll
explicit_outer_nonuniform_inner.ll Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
explicit_outer_uniform_diverg_branch.ll Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
fcmp-vectorize.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
first-order-recurrence-complex.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
first-order-recurrence-multiply-recurrences.ll Recommit f0c2a5a "[LV] Generalize conditions for sinking instrs for first order recurrences." 2019-11-24 21:21:55 +00:00
first-order-recurrence.ll [LV] Do not try to sink dead instructions. 2020-01-28 08:28:03 -08:00
fix-reduction-dbg.ll [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion 2019-06-19 10:50:47 +00:00
flags.ll
float-induction.ll
float-minmax-instruction-flag.ll [LV] Either get invariant condition OR vector condition. 2020-05-24 17:16:42 +01:00
float-reduction.ll
fneg.ll [LoopVectorize] Add FNeg instruction support 2019-05-30 18:19:35 +00:00
followup.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
funcall.ll
gcc-examples.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
gep_with_bitcast.ll
global_alias.ll
hints-trans.ll
hoist-loads.ll [LoopVectorize] Leverage speculation safety to avoid masked.loads 2019-09-09 20:54:13 +00:00
i8-induction.ll
icmp-uniforms.ll Recommit "[VPlan] Add & use VPValue operands for VPWidenRecipe (NFC)." 2020-04-29 11:40:39 +01:00
if-conv-crash.ll
if-conversion-edgemasks.ll
if-conversion-nest.ll [InstCombine] Revert rL341831: relax one-use check in foldICmpAddConstant() (PR44100) 2019-12-02 18:06:15 +03:00
if-conversion-reduction.ll
if-conversion.ll
if-pred-non-void.ll
if-pred-not-when-safe.ll
if-pred-stores.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
if-reduction.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
incorrect-dom-info.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
increment.ll
induction_plus.ll
induction-step.ll
induction.ll [InstCombine] reassociate splatted vector ops 2020-02-03 09:08:36 -05:00
infiniteloop.ll
int_sideeffect.ll
interleaved-accesses-1.ll
interleaved-accesses-2.ll
interleaved-accesses-3.ll
interleaved-accesses-alias.ll
interleaved-accesses-masked-group.ll
interleaved-accesses-pred-stores.ll
interleaved-accesses-uniform-load.ll [LV] Apply sink-after & interleave-groups as VPlan transformations (NFCI) 2019-11-09 20:52:25 +02:00
interleaved-accesses.ll [InstCombine] reassociate sub+add to increase adds and throughput 2020-05-26 14:49:17 -04:00
interleaved-acess-with-remarks.ll
intrinsic.ll [FPEnv] Intrinsic llvm.roundeven 2020-05-26 19:24:58 +07:00
invariant-store-vectorization.ll
iv_outside_user.ll
lcssa-crash.ll
libcall-remark.ll
lifetime.ll
loop-form.ll
loop-legality-checks.ll [LV] Inform about exactly reason of loop illegality 2019-05-30 05:03:12 +00:00
loop-scalars.ll
loop-vect-memdep.ll
loop-vect-option.ll
memdep-fold-tail.ll [LV] Clamp MaxVF to power of 2. 2020-05-25 11:24:33 +03:00
memdep.ll
metadata-unroll.ll
metadata-width.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
metadata.ll
middle-block-dbg.ll
miniters.ll
minmax_reduction.ll
multi-use-reduction-bug.ll
multiple-address-spaces.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
multiple-strides-vectorization.ll Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
no_array_bounds.ll
no_idiv_reduction.ll
no_int_induction.ll [LV] Strip wrap flags from vectorized reductions 2019-12-20 14:48:53 +02:00
no_outside_user.ll
no_switch_disable_vectorization.ll
no_switch.ll
no-interleave-up-front.ll
noalias-md-licm.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
noalias-md.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
nofloat-report.ll [LV][NFC] Share the LV illegality reporting with LoopVectorize. 2019-08-06 06:08:48 +00:00
nofloat.ll
non-const-n.ll
nontemporal.ll [LV] Suppress vectorization in some nontemporal cases 2019-06-17 17:20:08 +00:00
novect-lcssa-cfg-invalidation.ll [LoopVectorize] Preserve CFG analyses if CFG wasn't modified 2020-04-24 17:22:24 +07:00
nsw-crash.ll
nuw.ll [LV] Strip wrap flags from vectorized reductions 2019-12-20 14:48:53 +02:00
opt.ll
optsize.ll [LV] Fixing versioning-for-unit-stide of loops with small trip count 2020-07-12 19:51:47 +03:00
outer_loop_test1.ll
outer_loop_test2.ll
partial-lcssa.ll
phi-cost.ll
phi-hang.ll
pr25281.ll
pr28541.ll
pr30654-phiscev-sext-trunc.ll Revert "[IRBuilder] Fold consistently for or/and whether constant is LHS or RHS" 2019-07-07 22:12:01 +00:00
pr30806-phi-scev.ll
pr30806.ll
pr31098.ll
pr31190.ll
pr32859.ll
pr33706.ll
pr34681.ll
pr35743.ll
pr35773.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
pr36311.ll
pr36983.ll
pr37248.ll
pr37515.ll
pr38697.ll
pr38800.ll
pr39099.ll
pr39417-optsize-scevchecks.ll [LV] Vectorize without versioning-for-unit-stride under -Os/-Oz 2020-07-07 15:04:21 +03:00
pr43166-fold-tail-by-masking.ll [LV] Fix miscompiles by adding non-header PHI nodes to AllowedExit 2019-09-03 09:33:55 +00:00
pr44488-predication.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
pr45259.ll [LoopVectorize] Fix crash on "getNoopOrZeroExtend cannot truncate!" (PR45259) 2020-03-30 10:14:14 -07:00
pr45525.ll [LV] Fix PR45525: Incorrect assert in blend recipe 2020-04-15 10:39:07 +03:00
pr45679-fold-tail-by-masking.ll [NFC][LV][TEST]: extend pr45679-fold-tail-by-masking.ll with -force-vector-width=1 -force-vector-interleave=4 2020-06-09 18:30:56 +00:00
pr46525-expander-insertpoint.ll [LV] Pick vector loop body as insert point for SCEV expansion. 2020-07-10 10:37:12 +01:00
preserve-dbg-loc-and-loop-metadata.ll
ptr_loops.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
ptr-induction.ll
read-only.ll LoopDistribute/LAA: Add tests to catch regressions 2019-06-12 13:15:59 +00:00
reduction-inloop.ll [LoopVectorizer] Add reduction tests for inloop reductions. NFC 2020-03-03 10:54:00 +00:00
reduction-order.ll [LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions 2020-01-27 16:53:20 -08:00
reduction-small-size.ll [LV] Strip wrap flags from vectorized reductions 2019-12-20 14:48:53 +02:00
reduction.ll [LV] Strip wrap flags from vectorized reductions 2019-12-20 14:48:53 +02:00
remove_metadata.ll
reverse_induction.ll
reverse_iter.ll
runtime-check-address-space.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
runtime-check-needed-but-empty.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
runtime-check-readonly-address-space.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
runtime-check-readonly.ll
runtime-check.ll [LV] Vectorize without versioning-for-unit-stride under -Os/-Oz 2020-07-07 15:04:21 +03:00
runtime-limit.ll
safegep.ll
same-base-access.ll
scalar_after_vectorization.ll
scalar-select.ll
scev-exitlim-crash.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
simple-unroll.ll
skip-iterations.ll
small-loop.ll
start-non-zero.ll
store-shuffle-bug.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
struct_access.ll
tail-folding-counting-down.ll [LV] Fix recording of BranchTakenCount for FoldTail 2020-04-26 20:13:10 +03:00
tail-folding-vectorization-factor-1.ll [NFC][LV][TEST]: extend pr45679-fold-tail-by-masking.ll with -force-vector-width=1 -force-vector-interleave=4 2020-06-09 18:30:56 +00:00
tbaa-nodep.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
tripcount.ll [LV] Vectorizer should adjust trip count in profile information 2020-01-20 18:36:28 +07:00
undef-inst-bug.ll
unroll_novec.ll
unroll-novec-memcheck-metadata.ll
unroll.ll
unsafe-dep-remark.ll [DebugInfo@O2][LoopVectorize] pr39024: Vectorized code linenos step through loop even after completion 2019-06-19 10:50:47 +00:00
unsized-pointee-crash.ll
value-ptr-bug.ll
vect-phiscev-sext-trunc.ll
vect.omp.persistence.ll
vect.stats.ll
vector-geps.ll
vector-intrinsic-call-cost.ll Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
vectorize-once.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
vectorizeVFone.ll [VFDatabase] Testsuite for scalar functions are vector functions with VF =1 2020-04-30 15:47:21 -04:00
version-mem-access.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
vplan_hcfg_stress_test.ll
vplan-outer-loop-uncomputable-trip-count.ll [VPlan] Reject loops without computable backedge taken counts 2020-06-12 10:31:18 +01:00
vplan-stress-test-no-explict-vf.ll
write-only.ll LoopDistribute/LAA: Add tests to catch regressions 2019-06-12 13:15:59 +00:00
zero-sized-pointee-crash.ll