; Test that we can inline a simple function, turning the calls in it into invoke ; instructions ; RUN: opt < %s -inline -S | FileCheck %s ; RUN: opt < %s -passes='cgscc(inline)' -S | FileCheck %s ; RUN: opt < %s -passes='module-inline' -S | FileCheck %s declare void @might_throw() define internal void @callee() { entry: call void @might_throw() ret void } ; caller returns true if might_throw throws an exception... define i32 @caller() personality i32 (...)* @__gxx_personality_v0 { ; CHECK-LABEL: define i32 @caller() personality i32 (...)* @__gxx_personality_v0 entry: invoke void @callee() to label %cont unwind label %exc ; CHECK-NOT: @callee ; CHECK: invoke void @might_throw() cont: ret i32 0 exc: %exn = landingpad {i8*, i32} cleanup ret i32 1 } declare i32 @__gxx_personality_v0(...)