diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2009-08-19 07:16:57 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2009-08-19 07:16:57 +0000 |
commit | 08368ce9847309618a2c80222cba3b2c88f77f88 (patch) | |
tree | a7da2fb87ad4a57290740b5c79d637aebe9cb0c6 /test/Transforms | |
parent | 5371aa2a1c9a4eeecffdb9ab7b2175732e49475b (diff) | |
download | external_llvm-08368ce9847309618a2c80222cba3b2c88f77f88.zip external_llvm-08368ce9847309618a2c80222cba3b2c88f77f88.tar.gz external_llvm-08368ce9847309618a2c80222cba3b2c88f77f88.tar.bz2 |
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/Transforms')
-rw-r--r-- | test/Transforms/SSI/2009-08-19-UnreachableBB2.ll | 22 |
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 0000000..480c703 --- /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 +} |