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
Anna Thomas 146a9e87c5 [LV][LAA] Vectorize loop invariant values stored into loop invariant address
Summary:
We are overly conservative in loop vectorizer with respect to stores to loop
invariant addresses.
More details in https://bugs.llvm.org/show_bug.cgi?id=38546
This is the first part of the fix where we start with vectorizing loop invariant
values to loop invariant addresses.

This also includes changes to ORE for stores to invariant address.

Reviewers: anemet, Ayal, mkuper, mssimpso

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D50665

llvm-svn: 343028
2018-09-25 20:57:20 +00:00
..
AArch64 [AArch64] Add custom lowering for v4i8 trunc store 2018-06-27 13:58:46 +00:00
AMDGPU
ARM
Hexagon
PowerPC
SystemZ [LV] Move InterleaveGroup and InterleavedAccessInfo to VectorUtils.h (NFC) 2018-09-12 08:01:57 +00:00
X86 [LV][LAA] Vectorize loop invariant values stored into loop invariant address 2018-09-25 20:57:20 +00: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
bsd_regex.ll
bzip_reverse_loops.ll
calloc.ll
cast-induction.ll
conditional-assignment.ll
consec_no_gep.ll
consecutive-ptr-uniforms.ll
control-flow.ll
cpp-new-array.ll
dbg.value.ll
dead_instructions.ll
debugloc.ll Avoid dbg.value use-before-def in a few tests (NFC) 2018-08-21 23:42:08 +00:00
diag-missing-instr-debug-loc.ll
diag-with-hotness-info-2.ll
diag-with-hotness-info.ll
discriminator.ll
ee-crash.ll
exact.ll
explicit_outer_detection.ll
explicit_outer_nonuniform_inner.ll
explicit_outer_uniform_diverg_branch.ll
fcmp-vectorize.ll
first-order-recurrence.ll
flags.ll
float-induction.ll
float-reduction.ll
funcall.ll
gcc-examples.ll
gep_with_bitcast.ll
global_alias.ll
hints-trans.ll
hoist-loads.ll
i8-induction.ll [DebugInfo][LoopVectorize] Preserve DL in induction PHI and Add 2018-07-10 13:29:50 +00:00
icmp-uniforms.ll
if-conv-crash.ll
if-conversion-edgemasks.ll
if-conversion-nest.ll InstCombine: move hasOneUse check to the top of foldICmpAddConstant 2018-09-10 14:26:44 +00:00
if-conversion-reduction.ll
if-conversion.ll
if-pred-non-void.ll
if-pred-not-when-safe.ll
if-pred-stores.ll
incorrect-dom-info.ll
increment.ll
induction_plus.ll
induction-step.ll
induction.ll
infiniteloop.ll
int_sideeffect.ll
interleaved-accesses-1.ll
interleaved-accesses-2.ll
interleaved-accesses-3.ll
interleaved-accesses-alias.ll
interleaved-accesses-pred-stores.ll
interleaved-accesses.ll
interleaved-acess-with-remarks.ll
intrinsic.ll
invariant-store-vectorization.ll [LV][LAA] Vectorize loop invariant values stored into loop invariant address 2018-09-25 20:57:20 +00:00
iv_outside_user.ll
lcssa-crash.ll
legal_preheader_check.ll
lifetime.ll
loop-form.ll
loop-scalars.ll
loop-vect-memdep.ll
memdep.ll
metadata-unroll.ll
metadata-width.ll
metadata.ll
miniters.ll
minmax_reduction.ll
multi-use-reduction-bug.ll
multiple-address-spaces.ll
multiple-strides-vectorization.ll
no_array_bounds.ll
no_idiv_reduction.ll
no_int_induction.ll
no_outside_user.ll [LV] Vectorize loops where non-phi instructions used outside loop 2018-08-21 14:40:27 +00:00
no_switch.ll
noalias-md-licm.ll
noalias-md.ll
nofloat.ll
non-const-n.ll
nontemporal.ll
nsw-crash.ll
opt.ll
optsize.ll
outer_loop_test1.ll [VPlan] Implement initial vector code generation support for simple outer loops. 2018-09-14 00:36:00 +00:00
outer_loop_test2.ll [VPlan] Implement initial vector code generation support for simple outer loops. 2018-09-14 00:36:00 +00:00
partial-lcssa.ll
phi-cost.ll
phi-hang.ll
pr25281.ll
pr28541.ll
pr30654-phiscev-sext-trunc.ll
pr31098.ll
pr31190.ll [LV][LAA] Vectorize loop invariant values stored into loop invariant address 2018-09-25 20:57:20 +00:00
pr32859.ll
pr33706.ll
pr34681.ll
pr35743.ll
pr35773.ll
pr36311.ll
pr36983.ll
pr37248.ll
pr37515.ll [Loop Vectorizer] Abandon vectorization when no integer IV found 2018-09-21 23:03:50 +00:00
pr38800.ll [Loop Vectorizer] Abandon vectorization when no integer IV found 2018-09-21 23:03:50 +00:00
preserve-dbg-loc-and-loop-metadata.ll [DebugInfo][LoopVectorize] Preserve DL in generated phi instruction 2018-07-04 10:16:55 +00:00
ptr_loops.ll
ptr-induction.ll
read-only.ll
reduction-small-size.ll
reduction.ll add a missed case for binary op FMF propagation under select folds 2018-08-16 20:59:45 +00:00
reverse_induction.ll
reverse_iter.ll
runtime-check-address-space.ll
runtime-check-readonly-address-space.ll
runtime-check-readonly.ll
runtime-check.ll InstCombine: move hasOneUse check to the top of foldICmpAddConstant 2018-09-10 14:26:44 +00:00
runtime-limit.ll
safegep.ll
same-base-access.ll
scalar_after_vectorization.ll
scalar-select.ll
scev-exitlim-crash.ll
simple-unroll.ll
skip-iterations.ll NFC: update the test comments in LV test about early exit loops 2018-08-21 21:12:02 +00:00
small-loop.ll
start-non-zero.ll
store-shuffle-bug.ll
struct_access.ll
tbaa-nodep.ll
tripcount.ll
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
vectorize-once.ll
version-mem-access.ll
vplan_hcfg_stress_test.ll
write-only.ll
zero-sized-pointee-crash.ll