llvm-6502/test/Transforms/LoopVectorize
Arnold Schwaighofer 06413cd0f0 LoopVectorizer: Add a check that the backedge taken count + 1 does not overflow
The loop vectorizer instantiates be-taken-count + 1 as the loop iteration count.
If this expression overflows the generated code was invalid.

In case of overflow the code now jumps to the scalar loop.

Fixes PR17288.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209854 91177308-0d34-0410-b5e6-96231b3b80d8
2014-05-29 22:10:01 +00:00
..
AArch64 AArch64/ARM64: move ARM64 into AArch64's place 2014-05-24 12:50:23 +00:00
ARM LoopVectorizer: Enable unrolling of conditional stores and the load/store 2014-02-02 03:12:34 +00:00
PowerPC [LoopVectorizer] Count dependencies of consecutive pointers as uniforms 2014-04-02 02:34:49 +00:00
X86 Move late partial-unrolling thresholds into the processor definitions 2014-05-08 09:14:44 +00:00
XCore Name the XCore target-specific subdirectories canonically. 2013-09-18 14:08:30 +00:00
12-12-11-if-conv.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
2012-10-20-infloop.ll Force a fixed unroll count on the target independent tests. 2013-01-05 00:58:48 +00:00
2012-10-22-isconsec.ll TBAA: remove !tbaa from testing cases if not used. 2013-05-02 18:11:35 +00:00
align.ll LoopVectorizer: Use abi alignment for accesses with no alignment 2013-11-15 23:09:33 +00:00
bsd_regex.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
bzip_reverse_loops.ll TBAA: remove !tbaa from testing cases if not used. 2013-05-02 18:11:35 +00:00
calloc.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
cast-induction.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
cpp-new-array.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
dbg.value.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
debugloc.ll Debug Info: update testing cases to specify the debug info version number. 2013-11-22 21:49:45 +00:00
ee-crash.ll LoopVectorizer: Don't attempt to vectorize extractelement instructions 2013-10-25 20:40:15 +00:00
flags.ll LoopVectorizer: Preserve fast-math flags 2014-03-05 21:10:47 +00:00
float-reduction.ll LoopVectorizer: Preserve fast-math flags 2014-03-05 21:10:47 +00:00
funcall.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
gcc-examples.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
global_alias.ll InstCombine: Teach most integer add/sub/mul/div combines how to deal with vectors. 2014-01-19 15:24:22 +00:00
hoist-loads.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
i8-induction.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
if-conv-crash.ll LoopVectorize: Handle single edge PHIs 2013-05-18 18:38:34 +00:00
if-conversion-edgemasks.ll LoopVectorize: Cache edge masks created during if-conversion 2013-06-27 20:31:06 +00:00
if-conversion-nest.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
if-conversion-reduction.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
if-conversion.ll LoopVectorizer: Don't if-convert constant expressions that can trap 2013-12-17 01:11:01 +00:00
if-pred-stores.ll LoopVectorizer: Keep track of conditional store basic blocks 2014-02-08 20:41:13 +00:00
increment.ll Correct word hyphenations 2013-12-05 05:44:44 +00:00
induction_plus.ll LoopVectorizer: Perform redundancy elimination on induction variables 2013-11-01 22:18:19 +00:00
induction.ll LoopVectorizer: Add a check that the backedge taken count + 1 does not overflow 2014-05-29 22:10:01 +00:00
infiniteloop.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
intrinsic.ll Revert "LoopVectorizer: Only allow vectorization of intrinsics." 2013-09-23 14:54:39 +00:00
lcssa-crash.ll LoopVectorize: LoopSimplify can't canonicalize loops with an indirectbr in it, don't assert on those cases. 2013-05-24 18:05:35 +00:00
lifetime.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
memdep.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
metadata-unroll.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
metadata-width.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
minmax_reduction.ll Scalarize select vector arguments when extracted. 2013-11-04 20:36:06 +00:00
multi-use-reduction-bug.ll LoopVectorizer: A reduction that has multiple uses of the reduction value is not 2014-01-19 03:18:31 +00:00
multiple-address-spaces.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-09-30 18:17:35 +00:00
no_idiv_reduction.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
no_int_induction.ll Teach LoopVectorize about address space sizes 2013-08-22 02:42:55 +00:00
no_outside_user.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
nofloat.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
non-const-n.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
nsw-crash.ll LoopVectorizer: Fix a bug in the vectorization of BinaryOperators. The BinaryOperator can be folded to an Undef, and we don't want to set NSW flags to undef vals. 2013-01-10 17:34:39 +00:00
opt.ll opt: Mirror vectorization presets of clang 2013-12-03 16:33:06 +00:00
phi-hang.ll LoopVectorize: Use a set to avoid longer cycles in the reduction chain too. 2013-04-18 14:29:13 +00:00
ptr_loops.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
read-only.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
reduction.ll LoopVectorize: External uses must use the last value in a reduction cycle 2013-10-07 21:05:43 +00:00
reverse_induction.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
reverse_iter.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
runtime-check-address-space.ll Don't use runtime bounds check between address spaces. 2013-10-02 22:38:17 +00:00
runtime-check-readonly-address-space.ll Don't use runtime bounds check between address spaces. 2013-10-02 22:38:17 +00:00
runtime-check-readonly.ll LoopVectorizer: Add a check that the backedge taken count + 1 does not overflow 2014-05-29 22:10:01 +00:00
runtime-check.ll LoopVectorizer: If dependency checks fail try runtime checks 2013-11-01 03:05:07 +00:00
runtime-limit.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
safegep.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
same-base-access.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
scalar-select.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
scev-exitlim-crash.ll Fix missing CHECK-LABELs 2013-10-02 20:29:00 +00:00
simple-unroll.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
small-loop.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
start-non-zero.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
store-shuffle-bug.ll Reorder shuffle and binary operation. 2014-05-11 08:46:12 +00:00
struct_access.ll LoopVectorize: Look for consecutive acces in GEPs with trailing zero indices 2013-11-01 14:09:50 +00:00
undef-inst-bug.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00
unroll_novec.ll [vectorizer] Add an override for the target instruction cost and use it 2014-01-27 11:41:50 +00:00
value-ptr-bug.ll Fix known typos 2014-01-24 17:20:08 +00:00
vect.omp.persistence.ll vect.omp.persistence.ll REQUIRES asserts due to -debug-only. 2014-04-15 10:12:47 +00:00
vect.stats.ll [CLNUP] Test commit. Remove newline. 2014-04-24 08:42:58 +00:00
vectorize-once.ll Mark vector loops as already vectorized 2013-10-24 14:50:51 +00:00
version-mem-access.ll LoopVectorize: Only strip casts from integer types when replacing symbolic 2014-01-15 03:35:46 +00:00
write-only.ll Update Transforms tests to use CHECK-LABEL for easier debugging. No functionality change. 2013-07-14 01:42:54 +00:00