llvm-6502/test/Transforms/LoopVectorize
Arnold Schwaighofer 9b5d70f076 LoopVectorize: Use the widest induction variable type
Use the widest induction type encountered for the cannonical induction variable.

We used to turn the following loop into an empty loop because we used i8 as
induction variable type and truncated 1024 to 0 as trip count.

int a[1024];
void fail() {
  int reverse_induction = 1023;
  unsigned char forward_induction = 0;
  while ((reverse_induction) >= 0) {
    forward_induction++;
    a[reverse_induction] = forward_induction;
    --reverse_induction;
  }
}

radar://13862901

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181667 91177308-0d34-0410-b5e6-96231b3b80d8
2013-05-11 23:04:28 +00:00
..
ARM Adding simple cast cost to ARM 2013-01-29 23:31:38 +00:00
X86 TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
12-12-11-if-conv.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +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
bsd_regex.ll LoopVectorizer: Bail out if we don't have datalayout we need it 2013-04-24 16:15:58 +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 Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
cpp-new-array.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
dbg.value.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
flags.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
float-reduction.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
gcc-examples.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
global_alias.ll Test case hygiene. 2013-03-09 18:25:40 +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 Force a fixed unroll count on the target independent tests. 2013-01-05 00:58:48 +00:00
if-conversion-nest.ll LoopVectorizer: Add support for if-conversion of PHINodes with 3+ incoming values. 2013-05-03 17:42:55 +00:00
if-conversion-reduction.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
if-conversion.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
increment.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
induction_plus.ll Force a fixed unroll count on the target independent tests. 2013-01-05 00:58:48 +00:00
infiniteloop.ll LoopVectorizer: Don't assert on the absence of induction variables 2013-05-09 00:32:18 +00:00
intrinsic.ll TBAA: remove !tbaa from testing cases if not used. 2013-05-02 18:11:35 +00:00
lcssa-crash.ll Force a fixed unroll count on the target independent tests. 2013-01-05 00:58:48 +00:00
lit.local.cfg
minmax_reduction.ll LoopVectorize: Add support for floating point min/max reductions 2013-05-05 01:54:48 +00:00
no_idiv_reduction.ll LoopVectorizer: integer division is not a reduction operation 2013-04-12 15:15:19 +00:00
no_int_induction.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
nofloat.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
non-const-n.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +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
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 Add support for reverse pointer induction variables. These are loops that contain pointers that count backwards. 2013-01-23 01:35:00 +00:00
read-only.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
reduction.ll LoopVectorizer: Improve reduction variable identification 2013-05-07 21:55:37 +00:00
reverse_induction.ll LoopVectorize: Use the widest induction variable type 2013-05-11 23:04:28 +00:00
reverse_iter.ll Add an additional testcase for PR15882. 2013-05-10 22:55:44 +00:00
runtime-check-readonly.ll LoopVectorizer: No need to generate pointer disambiguation checks between readonly pointers. 2013-04-25 19:55:03 +00:00
runtime-check.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
runtime-limit.ll LoopVectorizer: Calculate the number of pointers to disambiguate at runtime based on the numbers of reads and writes. 2013-04-26 05:08:59 +00:00
same-base-access.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
scalar-select.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
simple-unroll.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
small-loop.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00
start-non-zero.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
struct_access.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
vectorize-once.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
write-only.ll Remove the -licm pass from the loop vectorizer test because the loop vectorizer does it now. 2013-01-09 01:20:59 +00:00