blob: 78061437594f639b3a55991cc21ce6ec98a0fcf1 [file] [log] [blame]
Nick Lewycky31f5f242008-03-02 02:48:09 +00001; RUN: llvm-as < %s | llvm-dis | llvm-as -disable-output
2; PR1269
3; END
4; http://nondot.org/sabre/LLVMNotes/ExceptionHandlingChanges.txt
5
6define i1 @test1(i8 %i, i8 %j) {
7entry: unwind_to %target
8 %tmp = sub i8 %i, %j ; <i8> [#uses=1]
9 %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
10 ret i1 %b
11target:
12 ret i1 false
13}
14
15define i1 @test2(i8 %i, i8 %j) {
16unwind_to %1
17 %tmp = sub i8 %i, %j ; <i8> [#uses=1]
18 %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
19 ret i1 %b
20 ; No predecessors!
21 ret i1 false
22}
23
24define i1 @test3(i8 %i, i8 %j) {
25unwind_to %1
26 %tmp = sub i8 %i, %j ; <i8> [#uses=1]
27 %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
28 ret i1 %b
29unwind_to %0
30 ret i1 false
31}
32
33define i1 @test4(i8 %i, i8 %j) {
34 %tmp = sub i8 %i, %j ; <i8> [#uses=1]
35 %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
36 br label %1
37unwind_to %1
38 ret i1 false
39}
40
41define void @test5() {
42 unwind
43}
44
45define void @test6() {
46unwind: unwind_to %unwind
47 unwind
48}