diff options
Diffstat (limited to 'test/Transforms/SimplifyCFG/InvokeEliminate.ll')
| -rw-r--r-- | test/Transforms/SimplifyCFG/InvokeEliminate.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyCFG/InvokeEliminate.ll b/test/Transforms/SimplifyCFG/InvokeEliminate.ll new file mode 100644 index 000000000000..4f52f6b72e9e --- /dev/null +++ b/test/Transforms/SimplifyCFG/InvokeEliminate.ll @@ -0,0 +1,18 @@ +; This testcase checks to see if the simplifycfg pass is converting invoke +; instructions to call instructions if the handler just rethrows the exception. + +; If this test is successful, the function should be reduced to 'call; ret' + +; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | \ +; RUN: not egrep {\\(invoke\\)|\\(br\\)} + +declare void @bar() + +define i32 @test() { + invoke void @bar( ) + to label %Ok unwind label %Rethrow +Ok: ; preds = %0 + ret i32 0 +Rethrow: ; preds = %0 + unwind +} |
