diff options
Diffstat (limited to 'llvm/test/Transforms/Inline/invoke_test-3.ll')
-rw-r--r-- | llvm/test/Transforms/Inline/invoke_test-3.ll | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/llvm/test/Transforms/Inline/invoke_test-3.ll b/llvm/test/Transforms/Inline/invoke_test-3.ll deleted file mode 100644 index 149afac4c4a..00000000000 --- a/llvm/test/Transforms/Inline/invoke_test-3.ll +++ /dev/null @@ -1,48 +0,0 @@ -; Test that any rethrown exceptions in an inlined function are automatically -; turned into branches to the invoke destination. - -; RUN: opt < %s -inline -S | FileCheck %s -; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s - -declare void @might_throw() - -define internal i32 @callee() personality i32 (...)* @__gxx_personality_v0 { -entry: - invoke void @might_throw() - to label %cont unwind label %exc - -cont: - ret i32 0 - -exc: - ; This just rethrows the exception! - %exn = landingpad {i8*, i32} - cleanup - resume { i8*, i32 } %exn -} - -; caller returns true if might_throw throws an exception... which gets -; propagated by callee. -define i32 @caller() personality i32 (...)* @__gxx_personality_v0 { -; CHECK-LABEL: define i32 @caller() -entry: - %X = invoke i32 @callee() - to label %cont unwind label %Handler -; CHECK-NOT: @callee -; CHECK: invoke void @might_throw() -; At this point we just check that the rest of the function does not 'resume' -; at any point and instead the inlined resume is threaded into normal control -; flow. -; CHECK-NOT: resume - -cont: - ret i32 %X - -Handler: -; This consumes an exception thrown by might_throw - %exn = landingpad {i8*, i32} - cleanup - ret i32 1 -} - -declare i32 @__gxx_personality_v0(...) |