diff options
-rw-r--r-- | test/Transforms/SimplifyCFG/PhiEliminate.ll | 30 |
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 } - |