summaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-09-19 17:54:39 +0000
committerAndrew Trick <atrick@apple.com>2011-09-19 17:54:39 +0000
commit24f48ece526d81e7a3138f4cff57171b7de9e02f (patch)
treede015c66e0c0faa8b33039d58ac1a0e0033d2149 /test/Transforms
parent9883acd2a6c0851b9095409bcc0541b26165015a (diff)
downloadllvm-24f48ece526d81e7a3138f4cff57171b7de9e02f.tar.gz
llvm-24f48ece526d81e7a3138f4cff57171b7de9e02f.tar.bz2
llvm-24f48ece526d81e7a3138f4cff57171b7de9e02f.tar.xz
[indvars] Fix PR10946: SCEV cannot handle Vector IVs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140026 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/IndVarSimplify/2011-09-19-vectoriv.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Transforms/IndVarSimplify/2011-09-19-vectoriv.ll b/test/Transforms/IndVarSimplify/2011-09-19-vectoriv.ll
new file mode 100644
index 0000000000..6a01012fe2
--- /dev/null
+++ b/test/Transforms/IndVarSimplify/2011-09-19-vectoriv.ll
@@ -0,0 +1,16 @@
+; RUN: opt < %s -indvars -S | FileCheck %s
+; PR10946: Vector IVs are not SCEVable.
+; CHECK-NOT: phi
+define void @test() nounwind {
+allocas:
+ br i1 undef, label %cif_done, label %for_loop398
+
+cif_done: ; preds = %allocas
+ ret void
+
+for_loop398: ; preds = %for_loop398, %allocas
+ %storemerge35 = phi <4 x i32> [ %storemerge, %for_loop398 ], [ undef, %allocas ]
+ %bincmp431 = icmp sge <4 x i32> %storemerge35, <i32 5, i32 5, i32 5, i32 5>
+ %storemerge = bitcast <4 x float> undef to <4 x i32>
+ br label %for_loop398
+}