summaryrefslogtreecommitdiff
path: root/test/Transforms/JumpThreading
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-10 18:26:57 +0000
committerChris Lattner <sabre@nondot.org>2010-04-10 18:26:57 +0000
commit6f285d21053552e5aff9aba74f0425505d6ab61a (patch)
tree1da344a5df280258c11143283f30de5cb1e48059 /test/Transforms/JumpThreading
parenta2fb234b04eb632fb23aff72e56fd3962aa56e65 (diff)
downloadllvm-6f285d21053552e5aff9aba74f0425505d6ab61a.tar.gz
llvm-6f285d21053552e5aff9aba74f0425505d6ab61a.tar.bz2
llvm-6f285d21053552e5aff9aba74f0425505d6ab61a.tar.xz
fix PR6743, a case where we'd delete an instruction before using it
in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100937 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/JumpThreading')
-rw-r--r--test/Transforms/JumpThreading/crash.ll17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/Transforms/JumpThreading/crash.ll b/test/Transforms/JumpThreading/crash.ll
index c65fd1014b..21620bef9c 100644
--- a/test/Transforms/JumpThreading/crash.ll
+++ b/test/Transforms/JumpThreading/crash.ll
@@ -324,3 +324,20 @@ A: ; preds = %entry
call void undef(i64 ptrtoint (i8* blockaddress(@test11, %A) to i64)) nounwind
unreachable
}
+
+; PR6743
+define void @test12() nounwind ssp {
+entry:
+ br label %lbl_51
+
+lbl_51: ; preds = %if.then, %entry
+ %tmp3 = phi i1 [ false, %if.then ], [ undef, %entry ] ; <i1> [#uses=2]
+ br i1 %tmp3, label %if.end12, label %if.then
+
+if.then: ; preds = %lbl_51
+ br i1 %tmp3, label %lbl_51, label %if.end12
+
+if.end12: ; preds = %if.then, %lbl_51
+ ret void
+}
+