diff options
Diffstat (limited to 'test/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll')
-rw-r--r-- | test/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll b/test/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll new file mode 100644 index 0000000..7f0a57c --- /dev/null +++ b/test/Transforms/SimplifyCFG/2002-05-05-EmptyBlockMerge.ll @@ -0,0 +1,24 @@ +; Basic block #2 should not be merged into BB #3! +; +; RUN: llvm-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \ +; RUN: grep {br label} +; +declare void %foo() +implementation + +void "cprop_test12"(int* %data) { +bb0: + %reg108 = load int* %data + %cond218 = setne int %reg108, 5 + br bool %cond218, label %bb3, label %bb2 + +bb2: + call void %foo() + br label %bb3 + +bb3: + %reg117 = phi int [ 110, %bb2 ], [ %reg108, %bb0 ] + store int %reg117, int* %data + ret void +} + |