blob: 93022f5b31627ef788c7c4b3dd43e02a47140930 [file] [log] [blame]
Chris Lattner90b10872005-09-27 18:34:31 +00001; RUN: llvm-as < %s | opt -lowerinvoke -disable-output &&
2; RUN: llvm-as < %s | opt -lowerinvoke -disable-output -enable-correct-eh-support
3
4implementation
5
6int %foo() {
7 invoke int %foo() to label %Ok unwind label %Crap
8Ok:
9 invoke int %foo() to label %Ok2 unwind label %Crap
10Ok2:
11 ret int 2
12Crap:
13 ret int 1
14}
15
16int %bar(int %blah) {
17 br label %doit
18doit:
19 ;; Value live across an unwind edge.
20 %B2 = add int %blah, 1
21 invoke int %foo() to label %Ok unwind label %Crap
22Ok:
23 invoke int %foo() to label %Ok2 unwind label %Crap
24Ok2:
25 ret int 2
26Crap:
27 ret int %B2
28}