|  | ; Test that we can inline a simple function, turning the calls in it into invoke | 
|  | ; instructions | 
|  |  | 
|  | ; RUN: opt < %s -inline -S | \ | 
|  | ; RUN:   not grep "call[^e]" | 
|  |  | 
|  | declare void @might_throw() | 
|  |  | 
|  | define internal void @callee() { | 
|  | call void @might_throw( ) | 
|  | ret void | 
|  | } | 
|  |  | 
|  | ; caller returns true if might_throw throws an exception... | 
|  | define i32 @caller() personality i32 (...)* @__gxx_personality_v0 { | 
|  | invoke void @callee( ) | 
|  | to label %cont unwind label %exc | 
|  |  | 
|  | cont:           ; preds = %0 | 
|  | ret i32 0 | 
|  |  | 
|  | exc:            ; preds = %0 | 
|  | %exn = landingpad {i8*, i32} | 
|  | cleanup | 
|  | ret i32 1 | 
|  | } | 
|  |  | 
|  | declare i32 @__gxx_personality_v0(...) |