diff options
author | Nadav Rotem <nrotem@apple.com> | 2012-12-10 19:25:06 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2012-12-10 19:25:06 +0000 |
commit | f0d19bd1291ee1d2ffee4bbe0aef12b814aff789 (patch) | |
tree | aae787dd66c027291499ab997c5f8f0d6bf987a8 /test/Transforms | |
parent | 0a2e27d96428e7dd0c834deb7a97033438b6dd8e (diff) | |
download | external_llvm-f0d19bd1291ee1d2ffee4bbe0aef12b814aff789.zip external_llvm-f0d19bd1291ee1d2ffee4bbe0aef12b814aff789.tar.gz external_llvm-f0d19bd1291ee1d2ffee4bbe0aef12b814aff789.tar.bz2 |
Add support for reverse induction variables. For example:
while (i--)
sum+=A[i];
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169752 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r-- | test/Transforms/LoopVectorize/gcc-examples.ll | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/test/Transforms/LoopVectorize/gcc-examples.ll b/test/Transforms/LoopVectorize/gcc-examples.ll index c34fd72..f1bf6cb 100644 --- a/test/Transforms/LoopVectorize/gcc-examples.ll +++ b/test/Transforms/LoopVectorize/gcc-examples.ll @@ -89,9 +89,8 @@ define void @example2(i32 %n, i32 %x) nounwind uwtable ssp { ret void } -; We can't vectorize this loop because it has non constant loop bounds. ;CHECK: @example3 -;CHECK-NOT: <4 x i32> +;CHECK: <4 x i32> ;CHECK: ret void define void @example3(i32 %n, i32* noalias nocapture %p, i32* noalias nocapture %q) nounwind uwtable ssp { %1 = icmp eq i32 %n, 0 @@ -537,9 +536,8 @@ define void @example14(i32** nocapture %in, i32** nocapture %coeff, i32* nocaptu ret void } -; Can't vectorize because the src and dst pointers are not disjoint. ;CHECK: @example21 -;CHECK-NOT: <4 x i32> +;CHECK: <4 x i32> ;CHECK: ret i32 define i32 @example21(i32* nocapture %b, i32 %n) nounwind uwtable readonly ssp { %1 = icmp sgt i32 %n, 0 |