summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Inline/invoke_test-3.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Transforms/Inline/invoke_test-3.ll')
-rw-r--r--llvm/test/Transforms/Inline/invoke_test-3.ll48
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(...)
OpenPOWER on IntegriCloud