Model stacksave and stackrestore as both writing memory, since we
[oota-llvm.git] / test / Transforms / Inline / invoke_test-3.ll
index bc112042b2eba5dcb69c31af64c1493c00e33791..b471afe2fb5eb9e02e636d8d7be64e24ead66e38 100644 (file)
@@ -1,10 +1,9 @@
 ; Test that any rethrown exceptions in an inlined function are automatically
 ; turned into branches to the invoke destination.
 
-; RUN: as < %s | opt -inline | dis | not grep 'call void %llvm.exc.rethrow'
+; RUN: llvm-upgrade < %s | llvm-as | opt -inline | llvm-dis | not grep unwind$
 
 declare void %might_throw()
-declare void %llvm.exc.rethrow()
 
 implementation
 
@@ -13,11 +12,11 @@ internal int %callee() {
 cont:
        ret int 0
 exc:   ; This just rethrows the exception!
-       call void %llvm.exc.rethrow()
-       ret int 0
+       unwind
 }
 
-; 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() {
        %X = invoke int %callee() to label %cont 
                except label %Handler
@@ -25,5 +24,5 @@ cont:
        ret int %X
 Handler:
        ; This consumes an exception thrown by might_throw
-       ret int -1
+       ret int 1
 }