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 0000000..89d76a8 --- /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-upgrade < %s | llvm-as | opt -simplifycfg | llvm-dis | \ +; RUN: not egrep {\\(invoke\\)|\\(br\\)} + +declare void %bar() + +int %test() { + invoke void %bar() to label %Ok except label %Rethrow +Ok: + ret int 0 +Rethrow: + unwind +} + |