diff options
Diffstat (limited to 'test/Transforms/CondProp/basictest.ll')
-rw-r--r-- | test/Transforms/CondProp/basictest.ll | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/Transforms/CondProp/basictest.ll b/test/Transforms/CondProp/basictest.ll new file mode 100644 index 000000000000..317247caf585 --- /dev/null +++ b/test/Transforms/CondProp/basictest.ll @@ -0,0 +1,28 @@ +; RUN: llvm-as < %s | opt -condprop | llvm-dis | \ +; RUN: not grep {br label} +; RUN: llvm-as < %s | opt -condprop | llvm-dis | not grep T2 + + +define i32 @test(i1 %C) { + br i1 %C, label %T1, label %F1 + +T1: ; preds = %0 + br label %Cont + +F1: ; preds = %0 + br label %Cont + +Cont: ; preds = %F1, %T1 + %C2 = phi i1 [ false, %F1 ], [ true, %T1 ] ; <i1> [#uses=1] + br i1 %C2, label %T2, label %F2 + +T2: ; preds = %Cont + call void @bar( ) + ret i32 17 + +F2: ; preds = %Cont + ret i32 1 +} + +declare void @bar() + |