aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2010-09-03 18:33:08 +0000
committerOwen Anderson <resistor@mac.com>2010-09-03 18:33:08 +0000
commit82de2e1a2409689f3ae5171a72ee0049e37dfe4c (patch)
tree53ec937c7e82c96cdfdee5103f1745e8a2fd0b1e /test
parentfc633002339439339e94f83eca9a012c6fc51e50 (diff)
downloadexternal_llvm-82de2e1a2409689f3ae5171a72ee0049e37dfe4c.zip
external_llvm-82de2e1a2409689f3ae5171a72ee0049e37dfe4c.tar.gz
external_llvm-82de2e1a2409689f3ae5171a72ee0049e37dfe4c.tar.bz2
Add a test for PR4413, which was apparently fixed at some point in the past.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112987 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/InstCombine/phi.ll21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/phi.ll b/test/Transforms/InstCombine/phi.ll
index fc321e9..c6c3f2f 100644
--- a/test/Transforms/InstCombine/phi.ll
+++ b/test/Transforms/InstCombine/phi.ll
@@ -402,3 +402,24 @@ if.else: ; preds = %entry
store i32 %tmp5, i32* %res
br label %if.end
}
+
+; PR4413
+declare i32 @ext()
+; CHECK: @test17
+define i32 @test17(i1 %a) {
+entry:
+ br i1 %a, label %bb1, label %bb2
+
+bb1: ; preds = %entry
+ %0 = tail call i32 @ext() ; <i32> [#uses=1]
+ br label %bb2
+
+bb2: ; preds = %bb1, %entry
+ %cond = phi i1 [ true, %bb1 ], [ false, %entry ] ; <i1> [#uses=1]
+; CHECK-NOT: %val = phi i32 [ %0, %bb1 ], [ 0, %entry ]
+ %val = phi i32 [ %0, %bb1 ], [ 0, %entry ] ; <i32> [#uses=1]
+ %res = select i1 %cond, i32 %val, i32 0 ; <i32> [#uses=1]
+; CHECK: ret i32 %cond
+ ret i32 %res
+}
+