1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/test/Transforms/LoopVectorize
Michael Kuperstein f25364903d Recommit [LV] Enable vectorization of loops where the IV has an external use
r272715 broke libcxx because it did not correctly handle cases where the
last iteration of one IV is the second-to-last iteration of another.

Original commit message:
Vectorizing loops with "escaping" IVs has been disabled since r190790, due to
PR17179. This re-enables it, with support for external use of both
"post-increment" (last iteration) and "pre-increment" (second-to-last iteration)
IVs.

llvm-svn: 272742
2016-06-15 00:35:26 +00:00
..
AArch64 Reapply "[TTI] Refine default cost for interleaved load groups with gaps" 2016-06-10 14:33:30 +00:00
ARM [ARM] AArch32 v8 NEON is still not IEEE-754 compliant 2016-04-18 12:06:47 +00:00
PowerPC [InstCombine] scalarizePHI should not assume the code it sees has been CSE'd 2016-06-06 23:38:33 +00:00
X86 [LV] For some IVs, use vector phis instead of widening in the loop body 2016-06-01 17:16:46 +00:00
XCore
12-12-11-if-conv.ll
2012-10-20-infloop.ll
2012-10-22-isconsec.ll
align.ll
bsd_regex.ll
bzip_reverse_loops.ll
calloc.ll
cast-induction.ll [LV] For some IVs, use vector phis instead of widening in the loop body 2016-06-01 17:16:46 +00:00
conditional-assignment.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
control-flow.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
cpp-new-array.ll
dbg.value.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
debugloc.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
duplicated-metadata.ll
ee-crash.ll
exact.ll
flags.ll
float-reduction.ll
funcall.ll
gcc-examples.ll [LV] For some IVs, use vector phis instead of widening in the loop body 2016-06-01 17:16:46 +00:00
gep_with_bitcast.ll [LV] For some IVs, use vector phis instead of widening in the loop body 2016-06-01 17:16:46 +00:00
global_alias.ll Revert "Claim NoAlias if two GEPs index different fields of the same struct" 2016-06-01 18:55:32 +00:00
hints-trans.ll [LoopVectorize] Keep hints from original loop on the vector loop 2016-04-29 01:27:40 +00:00
hoist-loads.ll
i8-induction.ll
if-conv-crash.ll
if-conversion-edgemasks.ll
if-conversion-nest.ll
if-conversion-reduction.ll
if-conversion.ll [InstCombine] canonicalize* LE/GE vector integer comparisons to LT/GT (PR26701, PR26819) 2016-05-13 15:10:46 +00:00
if-pred-stores.ll [LV] Preserve LoopInfo when store predication is used 2016-03-15 18:06:20 +00:00
incorrect-dom-info.ll
increment.ll
induction_plus.ll [LV] For some IVs, use vector phis instead of widening in the loop body 2016-06-01 17:16:46 +00:00
induction-step.ll [LoopVectorize] Handling induction variable with non-constant step. 2016-05-10 07:33:35 +00:00
induction.ll [LV] Use vector phis for some secondary induction variables 2016-06-09 18:03:15 +00:00
infiniteloop.ll
interleaved-accesses.ll [LV] Reallow positive-stride interleaved load groups with gaps 2016-04-27 18:21:36 +00:00
intrinsic.ll
iv_outside_user.ll Recommit [LV] Enable vectorization of loops where the IV has an external use 2016-06-15 00:35:26 +00:00
lcssa-crash.ll
lifetime.ll
loop-form.ll
loop-vect-memdep.ll
memdep.ll
metadata-unroll.ll
metadata-width.ll
metadata.ll
miniters.ll The patch replace the overflow check in loop vectorization with the minimum loop iterations check. 2015-08-25 16:43:47 +00:00
minmax_reduction.ll [LoopUtils,LV] Propagate fast-math flags on generated FCmp instructions 2015-09-21 19:41:19 +00:00
multi-use-reduction-bug.ll
multiple-address-spaces.ll
multiple-strides-vectorization.ll Quick fix for the test from rL272014 "[LAA] Improve non-wrapping pointer 2016-06-07 15:52:35 +00:00
no_array_bounds.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
no_idiv_reduction.ll
no_int_induction.ll
no_outside_user.ll Recommit [LV] Enable vectorization of loops where the IV has an external use 2016-06-15 00:35:26 +00:00
no_switch.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
noalias-md-licm.ll [LoopVectorize] Annotate versioned loop with noalias metadata 2016-03-17 20:32:37 +00:00
noalias-md.ll [LoopVectorize] Annotate versioned loop with noalias metadata 2016-03-17 20:32:37 +00:00
nofloat.ll
non-const-n.ll
nontemporal.ll [LoopVectorize] Propagate 'nontemporal' attribute into vectorized instructions. 2015-08-20 22:27:38 +00:00
nsw-crash.ll
opt.ll
optsize.ll fix minsize detection: minsize attribute implies optimizing for size 2015-08-11 15:56:31 +00:00
phi-hang.ll [Verifier] Reject PHIs using defs from own block. 2016-03-26 23:32:57 +00:00
pr25281.ll [PR25281] Remove AAResultsWrapper from preserved analyses of loop vectorizer. 2016-04-29 03:31:25 +00:00
ptr_loops.ll
ptr-induction.ll Add newline to test. NFC. 2015-09-02 14:06:16 +00:00
read-only.ll
reduction.ll [LV] Don't bail to MiddleBlock if a runtime check fails, bail to ScalarPH instead 2015-09-02 10:15:39 +00:00
reverse_induction.ll [LV] Use vector phis for some secondary induction variables 2016-06-09 18:03:15 +00:00
reverse_iter.ll
runtime-check-address-space.ll
runtime-check-readonly-address-space.ll
runtime-check-readonly.ll
runtime-check.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
runtime-limit.ll Fix test introduced in r246187 that failed on some systems. 2015-08-27 20:43:29 +00:00
safegep.ll
same-base-access.ll [SCEV][LAA] Re-commit r260085 and r260086, this time with a fix for the memory 2016-02-08 17:02:45 +00:00
scalar-select.ll
scev-exitlim-crash.ll
simple-unroll.ll
small-loop.ll
start-non-zero.ll
store-shuffle-bug.ll
struct_access.ll
tbaa-nodep.ll
undef-inst-bug.ll
unroll_novec.ll
unroll.ll
unsafe-dep-remark.ll [LV] Hint at the new loop distribution pragma in optimization remark 2016-05-09 23:03:44 +00:00
unsized-pointee-crash.ll
value-ptr-bug.ll
vect.omp.persistence.ll
vect.stats.ll
vectorize-once.ll
version-mem-access.ll
write-only.ll
zero-sized-pointee-crash.ll