llvm-project/llvm/test/Transforms/SLPVectorizer/X86
Hans Wennborg 9a9048e19f Revert r314806 "[SLP] Vectorize jumbled memory loads."
All the buildbots are red, e.g.
http://lab.llvm.org:8011/builders/clang-cmake-aarch64-lld/builds/2436/

> Summary:
> This patch tries to vectorize loads of consecutive memory accesses, accessed
> in non-consecutive or jumbled way. An earlier attempt was made with patch D26905
> which was reverted back due to some basic issue with representing the 'use mask' of
> jumbled accesses.
>
> This patch fixes the mask representation by recording the 'use mask' in the usertree entry.
>
> Change-Id: I9fe7f5045f065d84c126fa307ef6ebe0787296df
>
> Reviewers: mkuper, loladiro, Ayal, zvi, danielcdh
>
> Reviewed By: Ayal
>
> Subscribers: hans, mzolotukhin
>
> Differential Revision: https://reviews.llvm.org/D36130

llvm-svn: 314824
2017-10-03 18:32:29 +00:00
..
PR32086.ll [SLP] Add a test for PR32086, NFC. 2017-09-25 19:12:59 +00:00
PR34635.ll [SLP] Reduce test, NFC. 2017-09-19 13:38:56 +00:00
addsub.ll
align.ll
arith-add.ll [X86][SLM] Add SLM arithmetic vectorization tests 2017-06-10 19:16:09 +00:00
arith-fp.ll [X86][SLM] Add SLM arithmetic vectorization tests 2017-06-10 19:16:09 +00:00
arith-mul.ll [X86][SLM] Add SLM arithmetic vectorization tests 2017-06-10 19:16:09 +00:00
arith-sub.ll [X86][SLM] Add SLM arithmetic vectorization tests 2017-06-10 19:16:09 +00:00
atomics.ll
bad_types.ll [SLP] Don't vectorize loads of non-packed types (like i1, i2). 2015-09-30 21:05:43 +00:00
barriercall.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
bitreverse.ll [X86] Add missing BITREVERSE costs for SSE2 vectors and i8/i16/i32/i64 scalars 2017-03-15 19:34:55 +00:00
blending-shuffle.ll [SLP] Fix for PR31880: shuffle and vectorize repeated scalar ops on extracted elements 2017-08-02 13:25:26 +00:00
bswap.ll [X86][SSE] Add cost model for BSWAP of vectors 2016-06-20 23:08:21 +00:00
call.ll Replace hardcoded intrinsic list with speculatable attribute. 2017-05-03 02:26:10 +00:00
cast.ll [SLPVectorizer][X86] Regenerated SEXT/ZEXT cast vectorization tests 2016-05-06 22:22:18 +00:00
cmp_sel.ll
commutativity.ll Fix SLPVectorizer commutativity reordering 2015-11-06 20:17:51 +00:00
compare-reduce.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
consecutive-access.ll
continue_vectorizing.ll
crash_7zip.ll
crash_binaryop.ll
crash_bullet.ll
crash_bullet3.ll
crash_cmpop.ll
crash_dequeue.ll
crash_flop7.ll
crash_gep.ll
crash_lencod.ll
crash_mandeltext.ll
crash_netbsd_decompress.ll
crash_scheduling.ll [Verifier] Add verification for TBAA metadata 2016-12-11 20:07:15 +00:00
crash_sim4b1.ll
crash_smallpt.ll
crash_vectorizeTree.ll
cross_block_slp.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
cse.ll [SLPVectorizer] Try different vectorization factors for store chains 2015-07-08 23:40:55 +00:00
ctlz.ll [VectorLegalizer] Expansion of CTLZ using CTPOP when possible 2016-11-08 14:10:28 +00:00
ctpop.ll [X86][SSE] Add cost model values for CTPOP of vectors 2016-07-20 10:41:28 +00:00
cttz.ll [X86][SSE] Add initial costs for vector CTTZ/CTLZ 2016-08-04 10:51:41 +00:00
cycle_dup.ll
debug_info.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
diamond.ll
external_user.ll
extract.ll
extract_in_tree_user.ll
extractcost.ll
extractelement.ll [SLP] Fix for PR31879: vectorize repeated scalar ops that don't get put 2017-02-14 15:20:48 +00:00
fabs.ll [SLPVectorizer][X86] Added fabs tests 2016-10-01 16:54:01 +00:00
fcopysign.ll [AVX-512] Support FCOPYSIGN for v16f32 and v8f64 2016-11-18 02:25:34 +00:00
flag.ll
fma.ll [SLPVectorizer][X86] Added fma vectorization tests 2016-07-08 17:19:13 +00:00
fptosi.ll [SLPVectorizer][X86] Tests to show missed buildvector sitofp/fptosi vectorizations 2016-12-06 13:29:55 +00:00
fptoui.ll [SLPVectorizer][X86] Added fptosi/fptoui tests 2016-10-01 19:35:59 +00:00
fround.ll [SLPVectorizer][X86] Added ceil/floor/nearbyint/rint/trunc vectorization tests 2016-06-22 14:07:46 +00:00
funclet.ll [SLPVectorizer] Add operand bundles to vectorized functions 2016-04-29 07:09:51 +00:00
gep.ll [PM] Port SLPVectorizer to the new PM 2016-06-15 08:43:40 +00:00
gep_mismatch.ll [SLPVectorizer] Handle GEP with differing constant index types 2016-06-08 21:55:16 +00:00
hoist.ll
horizontal-list.ll [SLP] Support for horizontal min/max reduction. 2017-09-25 13:34:59 +00:00
horizontal-minmax.ll [SLP] Support for horizontal min/max reduction. 2017-09-25 13:34:59 +00:00
horizontal.ll [SLP] General improvements of SLP vectorization process. 2017-08-07 15:25:49 +00:00
implicitfloat.ll
in-tree-user.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
insert-after-bundle.ll [SLPVectorizer][X86] Cleanup test case. NFCI 2017-08-06 20:50:19 +00:00
insert-element-build-vector.ll [SLP] General improvements of SLP vectorization process. 2017-08-07 15:25:49 +00:00
insertvalue.ll [SLPVectorizer] Extend SLP Vectorizer to deal with aggregates. 2016-04-28 16:11:45 +00:00
intrinsic.ll
jumbled-load-multiuse.ll Revert r314806 "[SLP] Vectorize jumbled memory loads." 2017-10-03 18:32:29 +00:00
jumbled-load.ll Revert r314806 "[SLP] Vectorize jumbled memory loads." 2017-10-03 18:32:29 +00:00
limit.ll [SLP] A test for limiting vectorization of instructions, NFC. 2017-06-30 14:37:32 +00:00
lit.local.cfg
long_chains.ll
loopinvariant.ll [SLPVectorizer] Try different vectorization factors for store chains 2015-07-08 23:40:55 +00:00
metadata.ll
minimum-sizes.ll [InstCombine] Support sext in foldLogicCastConstant 2017-08-02 20:25:56 +00:00
multi_block.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
multi_user.ll
non-vectorizable-intrinsic.ll
odd_store.ll
operandorder.ll [InstCombine] Canonicalize insert splat sequences into an insert + shuffle 2016-12-28 00:18:08 +00:00
opt.ll
ordering.ll Fix tests that used CHECK-NEXT-NOT and CHECK-DAG-NOT. 2016-02-26 19:40:34 +00:00
phi.ll
phi3.ll
phi_landingpad.ll Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
phi_overalignedtype.ll
powof2div.ll
pr16571.ll
pr16628.ll [opaque pointer type] Add textual IR support for explicit type parameter to the call instruction 2015-04-16 23:24:18 +00:00
pr16899.ll
pr18060.ll
pr19657.ll [SLPVectorizer] Try different vectorization factors for store chains 2015-07-08 23:40:55 +00:00
pr23510.ll [SLP vectorizer]: Choose the best consecutive candidate to pair with a store instruction. 2015-07-30 17:40:39 +00:00
pr27163.ll [SLPVectorizer] Don't insert an extractelement before a catchswitch 2016-04-01 17:28:15 +00:00
pr31599.ll [SLP] Remove bogus assert. 2017-01-11 19:23:57 +00:00
propagate_ir_flags.ll Fixed the lost FastMathFlags for CALL operations in SLPVectorizer. 2016-11-16 00:55:50 +00:00
reduction.ll
reduction2.ll
reduction_loads.ll [SLP] Revert everything that has to do with memory access sorting. 2017-03-10 18:59:07 +00:00
reduction_unrolled.ll [SLP] Fixed cost model for horizontal reduction. 2016-12-01 18:42:42 +00:00
reorder_phi.ll [SLP vectorizer] Allow phi node reordering in tryToVectorizeList. 2017-04-18 18:16:57 +00:00
return.ll
reverse_extract_elements.ll [SLP] Change extension of the test, NFC. 2017-06-06 20:27:45 +00:00
rgb_phi.ll
saxpy.ll
schedule-bundle.ll [SLPVectorizer] Schedule bundle with different opcodes. 2017-08-14 15:40:16 +00:00
schedule_budget.ll SLPVectorizer: add a test to check if the minimum region size works. 2015-09-30 17:28:19 +00:00
scheduling.ll [SLP] Preserve IR flags when vectorizing horizontal reductions. 2017-03-01 12:43:39 +00:00
shift-ashr.ll [SLPVectorizer][X86] Add vectorization tests for vXi64/vXi32/vXi16/VXi8 shifts 2017-05-15 14:27:11 +00:00
shift-lshr.ll [SLPVectorizer][X86] Add vectorization tests for vXi64/vXi32/vXi16/VXi8 shifts 2017-05-15 14:27:11 +00:00
shift-shl.ll [SLPVectorizer][X86] Add vectorization tests for vXi64/vXi32/vXi16/VXi8 shifts 2017-05-15 14:27:11 +00:00
simple-loop.ll
simplebb.ll
sitofp.ll [SLPVectorizer][X86] Tests to show missed buildvector sitofp/fptosi vectorizations 2016-12-06 13:29:55 +00:00
sqrt.ll Rename tests 2016-09-18 20:25:41 +00:00
store-jumbled.ll Revert r314806 "[SLP] Vectorize jumbled memory loads." 2017-10-03 18:32:29 +00:00
tiny-tree.ll [SLP] Vectorize for all-constant entries. 2015-06-19 17:40:15 +00:00
uitofp.ll [SLPVectorizer][X86] Add 512-bit sitofp/uitofp tests 2016-10-10 14:28:06 +00:00
undef_vect.ll [SLP] Fix crash on propagate IR flags for undef operands of min/max 2017-09-27 17:42:49 +00:00
unreachable.ll
value-bug.ll
vect_copyable_in_binops.ll Revert "[SLPVectorizer] Failure to beneficially vectorize 'copyable' elements in integer binary ops." 2017-09-15 10:15:00 +00:00
vector.ll [SLP] A test for vectorization of users of extractelement instructions, 2017-03-06 16:26:00 +00:00
vector_gep.ll Vector GEP test: renamed + some comments 2016-07-06 08:11:23 +00:00