llvm-project/llvm/test/Transforms/LoopVectorize/X86
Juneyoung Lee 4a8e6ed2f7 [SLP,LV] Use poison constant vector for shufflevector/initial insertelement
This patch makes SLP and LV emit operations with initial vectors set to poison constant instead of undef.
This is a part of efforts for using poison vector instead of undef to represent "doesn't care" vector.
The goal is to make nice shufflevector optimizations valid that is currently incorrect due to the tricky interaction between undef and poison (see https://bugs.llvm.org/show_bug.cgi?id=44185 ).

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D94061
2021-01-06 11:22:50 +09:00
..
already-vectorized.ll [test][NPM] Fix already-vectorized.ll under NPM 2020-10-19 13:11:13 -07:00
avx1.ll
avx512.ll
consecutive-ptr-cg-bug.ll
consecutive-ptr-uniforms.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
constant-fold.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
constant-vector-operand.ll
conversion-cost.ll
cost-model-assert.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
cost-model.ll
float-induction-x86.ll [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
fneg-cost.ll
force-ifcvt.ll
fp32_to_uint32-cost-model.ll
fp64_to_uint32-cost-model.ll
fp80-widest-type.ll [LV] Make sure the MaxVF is a power-of-2 by rounding down. 2020-06-02 10:40:49 +01:00
fp_to_sint8-cost-model.ll [X86][CostModel] Improve costs for fp_to_uint/fp_to_sint for vXi8/vXi16/v2i32 results. 2020-04-27 10:35:15 -07:00
funclet.ll
gather-cost.ll
gather-vs-interleave.ll
gather_scatter.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
gcc-examples.ll
illegal-parallel-loop-uniform-write.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
imprecise-through-phis.ll [LoopUtils] Fix neutral value for vector.reduce.fadd 2020-10-29 21:45:13 +01:00
int128_no_gather.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
interleave_short_tc.ll [LV] Move interleave_short_tc.ll into the X86 directory to hopefully make fix non-X86 bots. 2019-11-01 10:41:18 -07:00
interleaved-accesses-large-gap.ll
interleaved-accesses-waw-dependency.ll
interleaving.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
invariant-load-gather.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
invariant-store-vectorization.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
libm-vector-calls-VF2-VF8.ll Initial support for vectorization using Libmvec (GLIBC vector math library) 2020-10-22 16:01:39 -04:00
libm-vector-calls-finite.ll Initial support for vectorization using Libmvec (GLIBC vector math library) 2020-10-22 16:01:39 -04:00
libm-vector-calls.ll Initial support for vectorization using Libmvec (GLIBC vector math library) 2020-10-22 16:01:39 -04:00
lit.local.cfg
load-deref-pred.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
masked_load_store.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
max-mstore.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
metadata-enable.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
min-trip-count-switch.ll
mul_slm_16bit.ll
no-vector.ll
no_fpmath.ll
no_fpmath_with_hotness.ll
nontemporal.ll
optsize.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
outer_loop_test1_no_explicit_vect_width.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
parallel-loops-after-reg2mem.ll
parallel-loops.ll
powof2div.ll
pr23997.ll [LAA] Use DL to get element size for bound computation. 2020-10-07 18:57:07 +01:00
pr34438.ll [IR] Let IRBuilder's CreateVectorSplat/CreateShuffleVector use poison as placeholder 2020-12-30 04:21:04 +09:00
pr35432.ll [llvm][mlir] Promote the experimental reduction intrinsics to be first class intrinsics. 2020-10-07 10:36:44 -07:00
pr36524.ll [LV] Collect dead induction truncates 2020-10-08 08:28:58 +01:00
pr39160.ll
pr42674.ll [SimplifyCFG] MergeBlockIntoPredecessor() already knows how to preserve DomTree 2020-12-17 01:03:49 +03:00
propagate-metadata.ll
ptr-indvar-crash.ll
rauw-bug.ll
reduction-crash.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
reduction-fastmath.ll [LoopVectorizer] add test to show wrong FMF propagation; NFC 2020-12-30 15:13:57 -05:00
reduction-small-size.ll
redundant-vf2-cost.ll
reg-usage-debug.ll
reg-usage.ll [test] Fix reg-usage.ll under NPM 2020-12-20 15:41:29 -08:00
register-assumption.ll
scatter_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
slm-no-vectorize.ll
small-size.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
strided_load_cost.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
struct-store.ll
svml-calls-finite.ll SVML support for log10, sqrt 2020-09-15 17:29:44 -07:00
svml-calls.ll Revert SVML support for sqrt 2020-10-05 08:13:11 -07:00
tail_folding_and_assume_safety.ll llc: Change behavior of -mcpu with existing attribute 2020-01-07 10:10:25 -05:00
tail_loop_folding.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
tripcount.ll
uint64_to_fp64-cost-model.ll
uniform-phi.ll
uniform_load.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
uniform_mem_op.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
uniformshift.ll
unroll-pm.ll
unroll-small-loops.ll
unroll_selection.ll
veclib-calls.ll [test] Add -inject-tli-mapping to -loop-vectorize -vector-library tests 2020-08-25 11:55:11 -07:00
vect.omp.force.ll
vect.omp.force.small-tc.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
vector-scalar-select-cost.ll
vector_max_bandwidth.ll
vector_ptr_load_store.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
vectorization-remarks-loopid-dbg.ll
vectorization-remarks-missed.ll [NPM][test] Fix some LoopVectorize tests under NPM 2020-10-19 12:05:37 -07:00
vectorization-remarks-profitable.ll Migrate function attribute "no-frame-pointer-elim" to "frame-pointer"="all" as cleanups after D56351 2019-12-24 15:57:33 -08:00
vectorization-remarks.ll
vectorize-only-for-real.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
x86-interleaved-accesses-masked-group.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
x86-pr39099.ll
x86-predication.ll [SLP,LV] Use poison constant vector for shufflevector/initial insertelement 2021-01-06 11:22:50 +09:00
x86_fp80-interleaved-access.ll
x86_fp80-vector-store.ll