aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/SimplifyCFG/PhiEliminate.ll30
1 files changed, 29 insertions, 1 deletions
diff --git a/test/Transforms/SimplifyCFG/PhiEliminate.ll b/test/Transforms/SimplifyCFG/PhiEliminate.ll
index ba5f81b5cf..f8e06c0dd3 100644
--- a/test/Transforms/SimplifyCFG/PhiEliminate.ll
+++ b/test/Transforms/SimplifyCFG/PhiEliminate.ll
@@ -9,6 +9,35 @@
declare void %use(bool)
declare void %use(int)
+
+void %test2(bool %c, bool %d, int %V, int %V2) {
+ br bool %d, label %X, label %F
+X:
+ br bool %c, label %T, label %F
+T:
+ br label %F
+F:
+ %B1 = phi bool [true, %0], [false, %T], [false, %X]
+ %B2 = phi bool [true, %T], [false, %0], [false, %X]
+ %I1 = phi int [1, %T], [0, %0], [2, %X]
+ %I2 = phi int [1, %0], [0, %T], [3, %X]
+ %I3 = phi int [17, %T], [0, %0], [4, %X]
+ %I4 = phi int [17, %T], [5, %0], [44, %X]
+ %I5 = phi int [%V, %T], [0, %0], [%V, %X]
+ %I6 = phi int [%V, %0], [0, %T], [%V, %X]
+ %I7 = phi int [%V, %0], [%V2, %T], [%V2, %X]
+ call void %use(bool %B1)
+ call void %use(bool %B2)
+ call void %use(int %I1)
+ call void %use(int %I2)
+ call void %use(int %I3)
+ call void %use(int %I4)
+ call void %use(int %I5)
+ call void %use(int %I6)
+ call void %use(int %I7)
+ ret void
+}
+
void %test(bool %c, int %V, int %V2) {
br bool %c, label %T, label %F
T:
@@ -34,4 +63,3 @@ F:
call void %use(int %I7)
ret void
}
-