aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-10-20 00:41:31 +0000
committerChris Lattner <sabre@nondot.org>2006-10-20 00:41:31 +0000
commit8a53688a135e9207392b99cdf8270646d06d38ca (patch)
treee418365356cab81c742e91c4e0d9348b2992a1a2
parent35b89fa63957c4d6468cd50af2a91ed92db44d49 (diff)
new testcase for PR957
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31060 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll b/test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll
new file mode 100644
index 0000000000..b8946dcf98
--- /dev/null
+++ b/test/Transforms/SimplifyCFG/2006-10-19-UncondDiv.ll
@@ -0,0 +1,35 @@
+; RUN: llvm-as < %s | opt -simplifycfg -disable-output &&
+; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | not grep select
+
+; PR957
+
+uint %test(uint %tmp) {
+cond_false179: ; preds = %cond_true
+ %tmp181 = seteq uint %tmp, 0 ; <bool> [#uses=1]
+ br bool %tmp181, label %cond_true182, label %cond_next185
+
+cond_true182: ; preds = %cond_false179
+ br label %cond_next185
+
+cond_next185: ; preds = %cond_true182, %cond_false179
+ %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp,
+%cond_false179 ] ; <uint> [#uses=7]
+
+ ret uint %d0.3
+}
+
+uint %test2(uint %tmp) {
+cond_false179: ; preds = %cond_true
+ %tmp181 = seteq uint %tmp, 0 ; <bool> [#uses=1]
+ br bool %tmp181, label %cond_true182, label %cond_next185
+
+cond_true182: ; preds = %cond_false179
+ br label %cond_next185
+
+cond_next185: ; preds = %cond_true182, %cond_false179
+ %d0.3 = phi uint [ div (uint 1, uint 0), %cond_true182 ], [ %tmp,
+%cond_false179 ] ; <uint> [#uses=7]
+ call uint %test(uint 4)
+ ret uint %d0.3
+}
+