forked from OSchip/llvm-project
parent
d367d0553e
commit
1853f284ed
|
@ -1,4 +1,4 @@
|
||||||
; Test that we can invoke a simple function, turning the calls in it into invoke
|
; Test that we can inline a simple function, turning the calls in it into invoke
|
||||||
; instructions
|
; instructions
|
||||||
|
|
||||||
; RUN: as < %s | opt -inline | dis | not grep 'call[^e]'
|
; RUN: as < %s | opt -inline | dis | not grep 'call[^e]'
|
||||||
|
|
|
@ -16,7 +16,7 @@ exc:
|
||||||
ret int 1
|
ret int 1
|
||||||
}
|
}
|
||||||
|
|
||||||
; caller returns true if might_throw throws an exception...
|
; caller returns true if might_throw throws an exception... callee cannot throw.
|
||||||
int %caller() {
|
int %caller() {
|
||||||
%X = invoke int %callee() to label %cont
|
%X = invoke int %callee() to label %cont
|
||||||
except label %UnreachableExceptionHandler
|
except label %UnreachableExceptionHandler
|
||||||
|
|
|
@ -14,10 +14,11 @@ cont:
|
||||||
ret int 0
|
ret int 0
|
||||||
exc: ; This just rethrows the exception!
|
exc: ; This just rethrows the exception!
|
||||||
call void %llvm.exc.rethrow()
|
call void %llvm.exc.rethrow()
|
||||||
ret int 0
|
ret int 123 ; DEAD!
|
||||||
}
|
}
|
||||||
|
|
||||||
; caller returns true if might_throw throws an exception...
|
; caller returns true if might_throw throws an exception... which gets
|
||||||
|
; propagated by callee.
|
||||||
int %caller() {
|
int %caller() {
|
||||||
%X = invoke int %callee() to label %cont
|
%X = invoke int %callee() to label %cont
|
||||||
except label %Handler
|
except label %Handler
|
||||||
|
@ -25,5 +26,5 @@ cont:
|
||||||
ret int %X
|
ret int %X
|
||||||
Handler:
|
Handler:
|
||||||
; This consumes an exception thrown by might_throw
|
; This consumes an exception thrown by might_throw
|
||||||
ret int -1
|
ret int 1
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue