2003-08-24 12:16:58 +00:00
|
|
|
; Test that we can inline a simple function, turning the calls in it into invoke
|
2003-08-24 06:55:07 +00:00
|
|
|
; instructions
|
|
|
|
|
2007-04-15 08:30:33 +00:00
|
|
|
; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | \
|
|
|
|
; RUN: not grep {call\[^e\]}
|
2003-08-24 06:55:07 +00:00
|
|
|
|
|
|
|
declare void %might_throw()
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
internal void %callee() {
|
|
|
|
call void %might_throw()
|
|
|
|
ret void
|
|
|
|
}
|
|
|
|
|
|
|
|
; caller returns true if might_throw throws an exception...
|
|
|
|
int %caller() {
|
|
|
|
invoke void %callee() to label %cont except label %exc
|
|
|
|
cont:
|
|
|
|
ret int 0
|
|
|
|
exc:
|
|
|
|
ret int 1
|
|
|
|
}
|