For PR1319:
[oota-llvm.git] / test / Transforms / LowerInvoke / basictest.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -lowerinvoke -disable-output -enable-correct-eh-support
2
3 implementation
4
5 int %foo() {
6         invoke int %foo() to label %Ok unwind label %Crap
7 Ok:
8         invoke int %foo() to label %Ok2 unwind label %Crap
9 Ok2:
10         ret int 2
11 Crap:
12         ret int 1
13 }
14
15 int %bar(int %blah) {
16         br label %doit
17 doit:
18         ;; Value live across an unwind edge.
19         %B2 = add int %blah, 1
20         invoke int %foo() to label %Ok unwind label %Crap
21 Ok:
22         invoke int %foo() to label %Ok2 unwind label %Crap
23 Ok2:
24         ret int 2
25 Crap:
26         ret int %B2
27 }