llvm-project/llvm/test/Transforms/LoopVectorize
Nadav Rotem 628c2dba60 Add the last part that is needed for vectorization of if-converted code.
Added the code that actually performs the if-conversion during vectorization.

We can now vectorize this code:

for (int i=0; i<n; ++i) {
  unsigned k = 0;

  if (a[i] > b[i])   <------ IF inside the loop.
    k = k * 5 + 3;

  a[i] = k;          <---- K is a phi node that becomes vector-select.
}

llvm-svn: 169217
2012-12-04 06:15:11 +00:00
..
X86 Cost Model: add tables for some avx type-conversion hacks. 2012-11-06 19:33:53 +00:00
2012-10-20-infloop.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
2012-10-22-isconsec.ll Move the target-specific tests, which require specific backends, to dirs that only run if the target is present. 2012-10-26 18:52:01 +00:00
cpp-new-array.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
flags.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
gcc-examples.ll LoopVectorizer: Add initial support for pointer induction variables (for example: *dst++ = *src++). 2012-11-17 00:27:03 +00:00
if-conversion.ll Add the last part that is needed for vectorization of if-converted code. 2012-12-04 06:15:11 +00:00
increment.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
induction_plus.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
lit.local.cfg
no_int_induction.ll Add support for pointer induction variables even when there is no integer induction variable. 2012-11-25 08:41:35 +00:00
non-const-n.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
read-only.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
reduction.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
runtime-check.ll Add support for memory runtime check. When we can, we calculate array bounds. 2012-11-09 07:09:44 +00:00
scalar-select.ll LoopVectorizer: Add a basic cost model which uses the VTTI interface. 2012-10-24 20:36:32 +00:00
small-loop.ll LoopVectorize: Do not vectorize loops with tiny constant trip counts. 2012-10-31 03:31:07 +00:00
start-non-zero.ll LoopVectorize: Preserve NSW, NUW and IsExact flags. 2012-10-31 21:40:39 +00:00
write-only.ll LoopVectorize: Add support for write-only loops when the write destination is a single pointer. 2012-10-30 18:36:45 +00:00