summaryrefslogtreecommitdiff
path: root/test/Transforms/LoopVectorize/phi-hang.ll
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2013-04-18 14:29:13 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2013-04-18 14:29:13 +0000
commit403fc143709bfe5cf014929d633c0b1c28f6e0c9 (patch)
tree8fa9d264a4d1c4486de6f69c6203ffea870b4e04 /test/Transforms/LoopVectorize/phi-hang.ll
parentd050e96133fac8565e3bb1eabe9a587dd5a6ac4d (diff)
downloadllvm-403fc143709bfe5cf014929d633c0b1c28f6e0c9.tar.gz
llvm-403fc143709bfe5cf014929d633c0b1c28f6e0c9.tar.bz2
llvm-403fc143709bfe5cf014929d633c0b1c28f6e0c9.tar.xz
LoopVectorize: Use a set to avoid longer cycles in the reduction chain too.
Fixes PR15748. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179757 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/LoopVectorize/phi-hang.ll')
-rw-r--r--test/Transforms/LoopVectorize/phi-hang.ll18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/Transforms/LoopVectorize/phi-hang.ll b/test/Transforms/LoopVectorize/phi-hang.ll
index b80d45995d..bbce239afa 100644
--- a/test/Transforms/LoopVectorize/phi-hang.ll
+++ b/test/Transforms/LoopVectorize/phi-hang.ll
@@ -27,3 +27,21 @@ bb5: ; preds = %bb4, %bb1
bb11: ; preds = %bb5
ret void
}
+
+; PR15748
+define void @test2() {
+bb:
+ br label %bb1
+
+bb1: ; preds = %bb1, %bb
+ %tmp = phi i32 [ 0, %bb ], [ %tmp5, %bb1 ]
+ %tmp2 = phi i32 [ 0, %bb ], [ 1, %bb1 ]
+ %tmp3 = phi i32 [ 0, %bb ], [ %tmp4, %bb1 ]
+ %tmp4 = or i32 %tmp2, %tmp3
+ %tmp5 = add nsw i32 %tmp, 1
+ %tmp6 = icmp eq i32 %tmp5, 0
+ br i1 %tmp6, label %bb7, label %bb1
+
+bb7: ; preds = %bb1
+ ret void
+}