1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/test/Transforms/LoopVectorize
James Molloy 08b726e6d4 [DemandedBits] Revert r249687 due to PR26071
This regresses a test in LoopVectorize, so I'll need to go away and think about how to solve this in a way that isn't broken.

From the writeup in PR26071:

What's happening is that ComputeKnownZeroes is telling us that all bits except the LSB are zero. We're then deciding that only the LSB needs to be demanded from the icmp's inputs.

This is where we're wrong - we're assuming that after simplification the bits that were known zero will continue to be known zero. But they're not - during trivialization the upper bits get changed (because an XOR isn't shrunk), so the icmp fails.

The fault is in demandedbits - its contract does clearly state that a non-demanded bit may either be zero or one.

llvm-svn: 259649
2016-02-03 15:05:06 +00:00
..
AArch64 [DemandedBits] Revert r249687 due to PR26071 2016-02-03 15:05:06 +00:00
ARM Simplify testcase added in r246759. NFC 2015-09-04 11:37:20 +00:00
PowerPC [PowerPC] Enable interleaved-access vectorization 2015-09-04 00:10:41 +00:00
X86 AVX1 : Enable vector masked_load/store to AVX1. 2016-01-25 10:17:11 +00:00
XCore
12-12-11-if-conv.ll
2012-10-20-infloop.ll
2012-10-22-isconsec.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
align.ll
bsd_regex.ll
bzip_reverse_loops.ll
calloc.ll
cast-induction.ll
conditional-assignment.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
control-flow.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
cpp-new-array.ll
dbg.value.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
debugloc.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
duplicated-metadata.ll
ee-crash.ll
exact.ll
flags.ll
float-reduction.ll
funcall.ll
gcc-examples.ll
gep_with_bitcast.ll LoopVectorizer - skip 'bitcast' between GEP and load. 2015-11-03 10:29:34 +00:00
global_alias.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +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 [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
if-pred-stores.ll Delay predication of stores until near the end of vector code generation 2015-09-09 12:51:06 +00:00
incorrect-dom-info.ll
increment.ll
induction_plus.ll
induction.ll [LV] Don't bail to MiddleBlock if a runtime check fails, bail to ScalarPH instead 2015-09-02 10:15:39 +00:00
infiniteloop.ll
interleaved-accesses.ll [LoopVectorize] Teach Loop Vectorizor about interleaved memory accesses. 2015-06-08 06:39:56 +00:00
intrinsic.ll
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
no_array_bounds.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
no_idiv_reduction.ll
no_int_induction.ll
no_outside_user.ll Print vectorization analysis when loop hint is specified. 2015-08-11 01:09:15 +00:00
no_switch.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +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
ptr_loops.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
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] Switch to using canonical induction variables. 2015-09-02 10:14:54 +00:00
reverse_iter.ll
runtime-check-address-space.ll
runtime-check-readonly-address-space.ll
runtime-check-readonly.ll
runtime-check.ll [LV] Don't bail to MiddleBlock if a runtime check fails, bail to ScalarPH instead 2015-09-02 10:15:39 +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
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 [X86] Disable loop unrolling in loop vectorization pass when VF is 1. 2015-05-06 17:12:25 +00:00
unsized-pointee-crash.ll
value-ptr-bug.ll
vect.omp.persistence.ll
vect.stats.ll
vectorize-once.ll Introduce runtime unrolling disable matadata and use it to mark the scalar loop from vectorization. 2015-03-09 06:14:18 +00:00
version-mem-access.ll
write-only.ll
zero-sized-pointee-crash.ll [LoopVectorize] Don't crash on zero-sized types in isInductionPHI 2015-06-05 10:52:40 +00:00