summaryrefslogtreecommitdiffstats
path: root/test/Transforms/SimplifyCFG/PhiBlockMerge.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-03-05 20:22:50 +0000
committerChris Lattner <sabre@nondot.org>2003-03-05 20:22:50 +0000
commita8bda21c8d6a0f6552414d99fe6213855f584a2d (patch)
tree5216a4513d2b664df0f8291de777dfcbc9209072 /test/Transforms/SimplifyCFG/PhiBlockMerge.ll
parent9f6487563c0ea0e80b8c18a0e68fed4ade43f269 (diff)
downloadexternal_llvm-a8bda21c8d6a0f6552414d99fe6213855f584a2d.zip
external_llvm-a8bda21c8d6a0f6552414d99fe6213855f584a2d.tar.gz
external_llvm-a8bda21c8d6a0f6552414d99fe6213855f584a2d.tar.bz2
Add testcase for new feature for simplifycfg pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5697 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/SimplifyCFG/PhiBlockMerge.ll')
-rw-r--r--test/Transforms/SimplifyCFG/PhiBlockMerge.ll26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyCFG/PhiBlockMerge.ll b/test/Transforms/SimplifyCFG/PhiBlockMerge.ll
new file mode 100644
index 0000000..d1df2a1
--- /dev/null
+++ b/test/Transforms/SimplifyCFG/PhiBlockMerge.ll
@@ -0,0 +1,26 @@
+; Test merging of blocks that only have PHI nodes in them
+;
+; RUN: if as < %s | opt -simplifycfg | dis | grep 'N:'
+; RUN: then exit 1
+; RUN: else exit 0
+; RUN: fi
+;
+
+int %test(bool %a, bool %b) {
+ br bool %a, label %M, label %O
+
+O:
+ br bool %b, label %N, label %Q
+Q:
+ br label %N
+N:
+ %Wp = phi int [0, %O], [1, %Q]
+ ; This block should be foldable into M
+ br label %M
+
+M:
+ %W = phi int [%Wp, %N], [2, %0]
+ %R = add int %W, 1
+ ret int %R
+}
+