diff options
Diffstat (limited to 'test/Transforms')
-rw-r--r-- | test/Transforms/SimplifyCFG/InvokeEliminate.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyCFG/InvokeEliminate.ll b/test/Transforms/SimplifyCFG/InvokeEliminate.ll new file mode 100644 index 0000000..7a2c4a6 --- /dev/null +++ b/test/Transforms/SimplifyCFG/InvokeEliminate.ll @@ -0,0 +1,19 @@ +; 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: as < %s | opt -simplifycfg | dis | not egrep 'invoke|br' + +declare void %bar() +declare void %llvm.unwind() + +int %test() { + invoke void %bar() to label %Ok except label %Rethrow +Ok: + ret int 0 +Rethrow: + call void %llvm.unwind() + br label %Ok +} + |