Mercurial > hg > CbC > CbC_llvm
comparison llvm/test/Feature/exception.ll @ 252:1f2b6ac9f198 llvm-original
LLVM16-1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 18 Aug 2023 09:04:13 +0900 |
parents | 1d019706d866 |
children |
comparison
equal
deleted
inserted
replaced
237:c80f45b162ad | 252:1f2b6ac9f198 |
---|---|
1 ; RUN: llvm-as < %s | llvm-dis > %t1.ll | 1 ; RUN: llvm-as < %s | llvm-dis > %t1.ll |
2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll | 2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll |
3 ; RUN: diff %t1.ll %t2.ll | 3 ; RUN: diff %t1.ll %t2.ll |
4 | 4 |
5 @_ZTIc = external constant i8* | 5 @_ZTIc = external constant ptr |
6 @_ZTId = external constant i8* | 6 @_ZTId = external constant ptr |
7 @_ZTIPKc = external constant i8* | 7 @_ZTIPKc = external constant ptr |
8 | 8 |
9 define void @_Z3barv() uwtable optsize ssp personality i32 (...)* @__gxx_personality_v0 { | 9 define void @_Z3barv() uwtable optsize ssp personality ptr @__gxx_personality_v0 { |
10 entry: | 10 entry: |
11 invoke void @_Z3quxv() optsize | 11 invoke void @_Z3quxv() optsize |
12 to label %try.cont unwind label %lpad | 12 to label %try.cont unwind label %lpad |
13 | 13 |
14 try.cont: ; preds = %entry, %invoke.cont4 | 14 try.cont: ; preds = %entry, %invoke.cont4 |
15 ret void | 15 ret void |
16 | 16 |
17 lpad: ; preds = %entry | 17 lpad: ; preds = %entry |
18 %exn = landingpad {i8*, i32} | 18 %exn = landingpad {ptr, i32} |
19 cleanup | 19 cleanup |
20 catch i8** @_ZTIc | 20 catch ptr @_ZTIc |
21 filter [2 x i8**] [i8** @_ZTIPKc, i8** @_ZTId] | 21 filter [2 x ptr] [ptr @_ZTIPKc, ptr @_ZTId] |
22 resume { i8*, i32 } %exn | 22 resume { ptr, i32 } %exn |
23 } | 23 } |
24 | 24 |
25 declare void @_Z3quxv() optsize | 25 declare void @_Z3quxv() optsize |
26 | 26 |
27 declare i32 @__gxx_personality_v0(...) | 27 declare i32 @__gxx_personality_v0(...) |
28 | 28 |
29 define void @cleanupret0() personality i32 (...)* @__gxx_personality_v0 { | 29 define void @cleanupret0() personality ptr @__gxx_personality_v0 { |
30 entry: | 30 entry: |
31 invoke void @_Z3quxv() optsize | 31 invoke void @_Z3quxv() optsize |
32 to label %exit unwind label %pad | 32 to label %exit unwind label %pad |
33 pad: | 33 pad: |
34 %cp = cleanuppad within none [i7 4] | 34 %cp = cleanuppad within none [i7 4] |
36 exit: | 36 exit: |
37 ret void | 37 ret void |
38 } | 38 } |
39 | 39 |
40 ; forward ref by name | 40 ; forward ref by name |
41 define void @cleanupret1() personality i32 (...)* @__gxx_personality_v0 { | 41 define void @cleanupret1() personality ptr @__gxx_personality_v0 { |
42 entry: | 42 entry: |
43 invoke void @_Z3quxv() optsize | 43 invoke void @_Z3quxv() optsize |
44 to label %exit unwind label %pad | 44 to label %exit unwind label %pad |
45 cleanup: | 45 cleanup: |
46 cleanupret from %cp unwind to caller | 46 cleanupret from %cp unwind to caller |
50 exit: | 50 exit: |
51 ret void | 51 ret void |
52 } | 52 } |
53 | 53 |
54 ; forward ref by ID | 54 ; forward ref by ID |
55 define void @cleanupret2() personality i32 (...)* @__gxx_personality_v0 { | 55 define void @cleanupret2() personality ptr @__gxx_personality_v0 { |
56 entry: | 56 entry: |
57 invoke void @_Z3quxv() optsize | 57 invoke void @_Z3quxv() optsize |
58 to label %exit unwind label %pad | 58 to label %exit unwind label %pad |
59 cleanup: | 59 cleanup: |
60 cleanupret from %0 unwind to caller | 60 cleanupret from %0 unwind to caller |
63 br label %cleanup | 63 br label %cleanup |
64 exit: | 64 exit: |
65 ret void | 65 ret void |
66 } | 66 } |
67 | 67 |
68 define void @catchret0() personality i32 (...)* @__gxx_personality_v0 { | 68 define void @catchret0() personality ptr @__gxx_personality_v0 { |
69 entry: | 69 entry: |
70 invoke void @_Z3quxv() optsize | 70 invoke void @_Z3quxv() optsize |
71 to label %exit unwind label %pad | 71 to label %exit unwind label %pad |
72 pad: | 72 pad: |
73 %cs1 = catchswitch within none [label %catch] unwind to caller | 73 %cs1 = catchswitch within none [label %catch] unwind to caller |
77 exit: | 77 exit: |
78 ret void | 78 ret void |
79 } | 79 } |
80 | 80 |
81 ; forward ref by name | 81 ; forward ref by name |
82 define void @catchret1() personality i32 (...)* @__gxx_personality_v0 { | 82 define void @catchret1() personality ptr @__gxx_personality_v0 { |
83 entry: | 83 entry: |
84 invoke void @_Z3quxv() optsize | 84 invoke void @_Z3quxv() optsize |
85 to label %exit unwind label %pad | 85 to label %exit unwind label %pad |
86 catchret: | 86 catchret: |
87 catchret from %cp to label %exit | 87 catchret from %cp to label %exit |
93 exit: | 93 exit: |
94 ret void | 94 ret void |
95 } | 95 } |
96 | 96 |
97 ; forward ref by ID | 97 ; forward ref by ID |
98 define void @catchret2() personality i32 (...)* @__gxx_personality_v0 { | 98 define void @catchret2() personality ptr @__gxx_personality_v0 { |
99 entry: | 99 entry: |
100 invoke void @_Z3quxv() optsize | 100 invoke void @_Z3quxv() optsize |
101 to label %exit unwind label %pad | 101 to label %exit unwind label %pad |
102 catchret: | 102 catchret: |
103 catchret from %0 to label %exit | 103 catchret from %0 to label %exit |
108 br label %catchret | 108 br label %catchret |
109 exit: | 109 exit: |
110 ret void | 110 ret void |
111 } | 111 } |
112 | 112 |
113 define i8 @catchpad() personality i32 (...)* @__gxx_personality_v0 { | 113 define i8 @catchpad() personality ptr @__gxx_personality_v0 { |
114 entry: | 114 entry: |
115 invoke void @_Z3quxv() optsize | 115 invoke void @_Z3quxv() optsize |
116 to label %exit unwind label %bb2 | 116 to label %exit unwind label %bb2 |
117 bb2: | 117 bb2: |
118 %cs1 = catchswitch within none [label %catch] unwind to caller | 118 %cs1 = catchswitch within none [label %catch] unwind to caller |
121 br label %exit | 121 br label %exit |
122 exit: | 122 exit: |
123 ret i8 0 | 123 ret i8 0 |
124 } | 124 } |
125 | 125 |
126 define void @cleanuppad() personality i32 (...)* @__gxx_personality_v0 { | 126 define void @cleanuppad() personality ptr @__gxx_personality_v0 { |
127 entry: | 127 entry: |
128 br label %try.cont | 128 br label %try.cont |
129 | 129 |
130 try.cont: | 130 try.cont: |
131 invoke void @_Z3quxv() optsize | 131 invoke void @_Z3quxv() optsize |