diff options
Diffstat (limited to 'llvm/test/Transforms/Inline/invoke_test-2.ll')
-rw-r--r-- | llvm/test/Transforms/Inline/invoke_test-2.ll | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/llvm/test/Transforms/Inline/invoke_test-2.ll b/llvm/test/Transforms/Inline/invoke_test-2.ll deleted file mode 100644 index 6dfd24822e4..00000000000 --- a/llvm/test/Transforms/Inline/invoke_test-2.ll +++ /dev/null @@ -1,52 +0,0 @@ -; Test that if an invoked function is inlined, and if that function cannot -; throw, that the dead handler is now unreachable. - -; RUN: opt < %s -inline -simplifycfg -S | FileCheck %s - -declare void @might_throw() - -define internal i32 @callee() personality i32 (...)* @__gxx_personality_v0 { -enrty: - invoke void @might_throw() - to label %cont unwind label %exc - -cont: - ret i32 0 - -exc: - %exn = landingpad {i8*, i32} - cleanup - ret i32 1 -} - -; caller returns true if might_throw throws an exception... callee cannot throw. -define i32 @caller() personality i32 (...)* @__gxx_personality_v0 { -; CHECK-LABEL: define i32 @caller() personality i32 (...)* @__gxx_personality_v0 -enrty: - %X = invoke i32 @callee() - to label %cont unwind label %UnreachableExceptionHandler -; CHECK-NOT: @callee -; CHECK: invoke void @might_throw() -; CHECK: to label %[[C:.*]] unwind label %[[E:.*]] - -; CHECK: [[E]]: -; CHECK: landingpad -; CHECK: cleanup -; CHECK: br label %[[C]] - -cont: -; CHECK: [[C]]: - ret i32 %X -; CHECK: %[[PHI:.*]] = phi i32 -; CHECK: ret i32 %[[PHI]] - -UnreachableExceptionHandler: -; CHECK-NOT: UnreachableExceptionHandler: - %exn = landingpad {i8*, i32} - cleanup - ret i32 -1 -; CHECK-NOT: ret i32 -1 -} -; CHECK: } - -declare i32 @__gxx_personality_v0(...) |