summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-08-19 07:16:57 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-08-19 07:16:57 +0000
commit08368ce9847309618a2c80222cba3b2c88f77f88 (patch)
treea7da2fb87ad4a57290740b5c79d637aebe9cb0c6 /test
parent5371aa2a1c9a4eeecffdb9ab7b2175732e49475b (diff)
downloadllvm-08368ce9847309618a2c80222cba3b2c88f77f88.tar.gz
llvm-08368ce9847309618a2c80222cba3b2c88f77f88.tar.bz2
llvm-08368ce9847309618a2c80222cba3b2c88f77f88.tar.xz
Fix up PHI nodes correctly in the presence of unreachable BBs, part two. Also
delete a newed pointer, and improve readability a little bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79411 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/SSI/2009-08-19-UnreachableBB2.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Transforms/SSI/2009-08-19-UnreachableBB2.ll b/test/Transforms/SSI/2009-08-19-UnreachableBB2.ll
new file mode 100644
index 0000000000..480c7033bc
--- /dev/null
+++ b/test/Transforms/SSI/2009-08-19-UnreachableBB2.ll
@@ -0,0 +1,22 @@
+; RUN: llvm-as < %s | opt -ssi-everything -disable-output
+
+define void @foo() {
+entry:
+ %tmp0 = load i64* undef, align 4 ; <i64> [#uses=3]
+ br i1 undef, label %end_stmt_playback, label %bb16
+
+readJournalHdr.exit: ; No predecessors!
+ br label %end_stmt_playback
+
+bb16: ; preds = %bb7
+ %tmp1 = icmp slt i64 0, %tmp0 ; <i1> [#uses=1]
+ br i1 %tmp1, label %bb16, label %bb17
+
+bb17: ; preds = %bb16
+ store i64 %tmp0, i64* undef, align 4
+ br label %end_stmt_playback
+
+end_stmt_playback: ; preds = %bb17, %readJournalHdr.exit, %bb6, %bb2
+ store i64 %tmp0, i64* undef, align 4
+ ret void
+}