1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/Transforms/LoopVectorize
Florian Hahn f52bf2135d [LV] Make sure the MaxVF is a power-of-2 by rounding down.
LV currently only supports power of 2 vectorization factors, which has
been made explicit with the assertion added in
840450549c9199150cbdee29acef756c19660ca1.

However, if the widest type is not a power-of-2 the computed MaxVF won't
be a power-of-2 either. This patch updates computeFeasibleMaxVF to
ensure the returned value is a power-of-2 by rounding down to the
nearest power-of-2.

Fixes PR46139.

Reviewers: Ayal, gilr, rengolin

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D80870
2020-06-02 10:40:49 +01:00
..
AArch64 Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
AMDGPU
ARM [llvm][test] Add missing FileCheck colons. NFC 2020-05-21 09:29:27 -06:00
Hexagon Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
PowerPC Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
SystemZ Recommit #2: "[LV] Induction Variable does not remain scalar under tail-folding." 2020-05-13 13:50:09 +01:00
X86 [LV] Make sure the MaxVF is a power-of-2 by rounding down. 2020-06-02 10:40:49 +01:00
XCore
12-12-11-if-conv.ll
2012-10-20-infloop.ll
2012-10-22-isconsec.ll
2016-07-27-loop-vec.ll
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
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
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
followup.ll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
funcall.ll
gcc-examples.ll
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
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 Migrate function attribute "no-frame-pointer-elim"="false" to "frame-pointer"="none" as cleanups after D56351 2019-12-24 16:27:51 -08: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
noalias-md.ll
nofloat-report.ll
nofloat.ll
non-const-n.ll
nontemporal.ll
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] Mark first-order recurrences as allowed exits 2020-04-18 23:54:21 +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
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
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 [LV] Fix FoldTail under user VF and UF 2020-05-19 01:32:25 +03:00
preserve-dbg-loc-and-loop-metadata.ll
ptr_loops.ll
ptr-induction.ll
read-only.ll
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 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-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 [InstCombine] Revert rL341831: relax one-use check in foldICmpAddConstant() (PR44100) 2019-12-02 18:06:15 +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
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 Title: [LV] Handle Fold-Tail of loops with vectorizarion factor equal to 1 2020-05-22 13:30:56 +00:00
tbaa-nodep.ll
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
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
vplan_hcfg_stress_test.ll
vplan-stress-test-no-explict-vf.ll
write-only.ll
zero-sized-pointee-crash.ll