diff options
Diffstat (limited to 'llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll')
-rw-r--r-- | llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll b/llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll new file mode 100644 index 00000000000..f6b068fd79c --- /dev/null +++ b/llvm/test/Transforms/SimplifyCFG/2003-08-17-BranchFold.ll @@ -0,0 +1,22 @@ +; This test checks to make sure that 'br X, Dest, Dest' is folded into +; 'br Dest' + +; RUN: opt < %s -simplifycfg -S | FileCheck %s + +declare void @noop() + +; CHECK-NOT: br i1 %c2 +define i32 @test(i1 %c1, i1 %c2) { + call void @noop( ) + br i1 %c1, label %A, label %Y +A: ; preds = %0 + call void @noop( ) + br i1 %c2, label %X, label %X +X: ; preds = %Y, %A, %A + call void @noop( ) + ret i32 0 +Y: ; preds = %0 + call void @noop( ) + br label %X +} + |