[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / Inline / invoke_test-1.ll
bloba5964121866ec9e17c6e3160a68010e959fa48f7
1 ; Test that we can inline a simple function, turning the calls in it into invoke
2 ; instructions
4 ; RUN: opt < %s -inline -S | FileCheck %s
5 ; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s
7 declare void @might_throw()
9 define internal void @callee() {
10 entry:
11   call void @might_throw()
12   ret void
15 ; caller returns true if might_throw throws an exception...
16 define i32 @caller() personality i32 (...)* @__gxx_personality_v0 {
17 ; CHECK-LABEL: define i32 @caller() personality i32 (...)* @__gxx_personality_v0
18 entry:
19   invoke void @callee()
20       to label %cont unwind label %exc
21 ; CHECK-NOT: @callee
22 ; CHECK: invoke void @might_throw()
24 cont:
25   ret i32 0
27 exc:
28   %exn = landingpad {i8*, i32}
29          cleanup
30   ret i32 1
33 declare i32 @__gxx_personality_v0(...)