OLD | NEW |
| (Empty) |
1 ; RUN: llc < %s | |
2 | |
3 ; regression check for emscripten #3088 - we were not clearing BlockChanges in i
64 lowering | |
4 | |
5 ; ModuleID = 'waka.bc' | |
6 target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64
:64:64-p:32:32:32-v128:32:128-n32-S128" | |
7 target triple = "asmjs-unknown-emscripten" | |
8 | |
9 %"class.ZenLib::uint128" = type <{ i64, i64 }> | |
10 | |
11 @.str = private unnamed_addr constant [15 x i8] c"hello, world!\0A\00", align 1 | |
12 | |
13 @.str368164 = external hidden unnamed_addr constant [10 x i8], align 1 | |
14 @.str398167 = external hidden unnamed_addr constant [6 x i8], align 1 | |
15 @.str718199 = external hidden unnamed_addr constant [9 x i8], align 1 | |
16 @.str738201 = external hidden unnamed_addr constant [21 x i8], align 1 | |
17 @.str748202 = external hidden unnamed_addr constant [26 x i8], align 1 | |
18 @.str758203 = external hidden unnamed_addr constant [21 x i8], align 1 | |
19 @.str768204 = external hidden unnamed_addr constant [8 x i8], align 1 | |
20 @.str778205 = external hidden unnamed_addr constant [14 x i8], align 1 | |
21 @.str788206 = external hidden unnamed_addr constant [22 x i8], align 1 | |
22 @.str798207 = external hidden unnamed_addr constant [25 x i8], align 1 | |
23 @.str808208 = external hidden unnamed_addr constant [24 x i8], align 1 | |
24 @.str818209 = external hidden unnamed_addr constant [20 x i8], align 1 | |
25 @.str828210 = external hidden unnamed_addr constant [34 x i8], align 1 | |
26 @.str838211 = external hidden unnamed_addr constant [31 x i8], align 1 | |
27 @.str848212 = external hidden unnamed_addr constant [29 x i8], align 1 | |
28 @.str858213 = external hidden unnamed_addr constant [44 x i8], align 1 | |
29 @.str868214 = external hidden unnamed_addr constant [12 x i8], align 1 | |
30 @.str908218 = external hidden unnamed_addr constant [21 x i8], align 1 | |
31 @.str918219 = external hidden unnamed_addr constant [8 x i8], align 1 | |
32 @.str928220 = external hidden unnamed_addr constant [6 x i8], align 1 | |
33 @.str9210864 = external hidden unnamed_addr constant [5 x i8], align 1 | |
34 @.str514367 = external hidden unnamed_addr constant [5 x i8], align 1 | |
35 @.str214409 = external hidden unnamed_addr constant [4 x i8], align 1 | |
36 @.str20216493 = external hidden unnamed_addr constant [3 x i8], align 1 | |
37 @.str2017231 = external hidden unnamed_addr constant [11 x i8], align 1 | |
38 @.str2317234 = external hidden unnamed_addr constant [14 x i8], align 1 | |
39 @.str2417235 = external hidden unnamed_addr constant [4 x i8], align 1 | |
40 @.str2717238 = external hidden unnamed_addr constant [5 x i8], align 1 | |
41 @.str3217243 = external hidden unnamed_addr constant [4 x i8], align 1 | |
42 @.str1717689 = external hidden unnamed_addr constant [5 x i8], align 1 | |
43 @.str2104 = external hidden unnamed_addr constant [1 x i8], align 1 | |
44 | |
45 ; Function Attrs: nounwind readonly | |
46 define hidden i8* @_ZN12MediaInfoLib22Mxf_EssenceCompressionEN6ZenLib7uint128E(%
"class.ZenLib::uint128"* nocapture readonly %EssenceCompression) #0 { | |
47 entry: | |
48 %hi = getelementptr inbounds %"class.ZenLib::uint128", %"class.ZenLib::uint128
"* %EssenceCompression, i32 0, i32 1 | |
49 %0 = load i64, i64* %hi, align 1 | |
50 %and = and i64 %0, -256 | |
51 %cmp = icmp eq i64 %and, 436333716306985216 | |
52 br i1 %cmp, label %lor.lhs.false, label %return | |
53 | |
54 lor.lhs.false: ; preds = %entry | |
55 %lo = getelementptr inbounds %"class.ZenLib::uint128", %"class.ZenLib::uint128
"* %EssenceCompression, i32 0, i32 0 | |
56 %1 = load i64, i64* %lo, align 1 | |
57 %and1 = and i64 %1, -72057594037927936 | |
58 switch i64 %and1, label %return [ | |
59 i64 288230376151711744, label %if.end | |
60 i64 1008806316530991104, label %if.end | |
61 ] | |
62 | |
63 if.end: ; preds = %lor.lhs.false, %lor
.lhs.false | |
64 %shr = lshr i64 %1, 56 | |
65 %conv = trunc i64 %shr to i32 | |
66 %and10 = lshr i64 %1, 48 | |
67 %and14 = lshr i64 %1, 40 | |
68 %and18 = lshr i64 %1, 32 | |
69 %conv20 = trunc i64 %and18 to i32 | |
70 %and22 = lshr i64 %1, 24 | |
71 %and26 = lshr i64 %1, 16 | |
72 %conv28 = trunc i64 %and26 to i32 | |
73 %and30 = lshr i64 %1, 8 | |
74 %conv32 = trunc i64 %and30 to i32 | |
75 switch i32 %conv, label %return [ | |
76 i32 4, label %sw.bb | |
77 i32 14, label %sw.bb112 | |
78 ] | |
79 | |
80 sw.bb: ; preds = %if.end | |
81 %conv12 = trunc i64 %and10 to i32 | |
82 %conv34 = and i32 %conv12, 255 | |
83 switch i32 %conv34, label %return [ | |
84 i32 1, label %sw.bb35 | |
85 i32 2, label %sw.bb64 | |
86 ] | |
87 | |
88 sw.bb35: ; preds = %sw.bb | |
89 %conv36 = and i64 %and14, 255 | |
90 %cond12 = icmp eq i64 %conv36, 2 | |
91 br i1 %cond12, label %sw.bb37, label %return | |
92 | |
93 sw.bb37: ; preds = %sw.bb35 | |
94 %conv38 = and i32 %conv20, 255 | |
95 switch i32 %conv38, label %return [ | |
96 i32 1, label %sw.bb39 | |
97 i32 2, label %sw.bb42 | |
98 ] | |
99 | |
100 sw.bb39: ; preds = %sw.bb37 | |
101 %conv40 = and i64 %and22, 255 | |
102 %cond14 = icmp eq i64 %conv40, 1 | |
103 %. = select i1 %cond14, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str2
14409, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104,
i32 0, i32 0) | |
104 br label %return | |
105 | |
106 sw.bb42: ; preds = %sw.bb37 | |
107 %2 = trunc i64 %and22 to i32 | |
108 %conv43 = and i32 %2, 255 | |
109 switch i32 %conv43, label %sw.default61 [ | |
110 i32 1, label %sw.bb44 | |
111 i32 2, label %return | |
112 i32 3, label %sw.bb56 | |
113 i32 113, label %sw.bb60 | |
114 ] | |
115 | |
116 sw.bb44: ; preds = %sw.bb42 | |
117 %conv45 = and i32 %conv28, 255 | |
118 switch i32 %conv45, label %sw.default54 [ | |
119 i32 0, label %return | |
120 i32 1, label %return | |
121 i32 2, label %return | |
122 i32 3, label %return | |
123 i32 4, label %return | |
124 i32 17, label %return | |
125 i32 32, label %sw.bb52 | |
126 i32 48, label %sw.bb53 | |
127 i32 49, label %sw.bb53 | |
128 i32 50, label %sw.bb53 | |
129 i32 51, label %sw.bb53 | |
130 i32 52, label %sw.bb53 | |
131 i32 53, label %sw.bb53 | |
132 i32 54, label %sw.bb53 | |
133 i32 55, label %sw.bb53 | |
134 i32 56, label %sw.bb53 | |
135 i32 57, label %sw.bb53 | |
136 i32 58, label %sw.bb53 | |
137 i32 59, label %sw.bb53 | |
138 i32 60, label %sw.bb53 | |
139 i32 61, label %sw.bb53 | |
140 i32 62, label %sw.bb53 | |
141 i32 63, label %sw.bb53 | |
142 ] | |
143 | |
144 sw.bb52: ; preds = %sw.bb44 | |
145 br label %return | |
146 | |
147 sw.bb53: ; preds = %sw.bb44, %sw.bb44,
%sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44,
%sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44 | |
148 br label %return | |
149 | |
150 sw.default54: ; preds = %sw.bb44 | |
151 br label %return | |
152 | |
153 sw.bb56: ; preds = %sw.bb42 | |
154 %conv57 = and i64 %and26, 255 | |
155 %cond13 = icmp eq i64 %conv57, 1 | |
156 %.35 = select i1 %cond13, i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.
str368164, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str2
104, i32 0, i32 0) | |
157 br label %return | |
158 | |
159 sw.bb60: ; preds = %sw.bb42 | |
160 br label %return | |
161 | |
162 sw.default61: ; preds = %sw.bb42 | |
163 br label %return | |
164 | |
165 sw.bb64: ; preds = %sw.bb | |
166 %conv65 = and i64 %and14, 255 | |
167 %cond9 = icmp eq i64 %conv65, 2 | |
168 br i1 %cond9, label %sw.bb66, label %return | |
169 | |
170 sw.bb66: ; preds = %sw.bb64 | |
171 %conv67 = and i32 %conv20, 255 | |
172 switch i32 %conv67, label %return [ | |
173 i32 1, label %sw.bb68 | |
174 i32 2, label %sw.bb75 | |
175 ] | |
176 | |
177 sw.bb68: ; preds = %sw.bb66 | |
178 %3 = trunc i64 %and22 to i32 | |
179 %conv69 = and i32 %3, 255 | |
180 switch i32 %conv69, label %sw.default74 [ | |
181 i32 0, label %return | |
182 i32 1, label %return | |
183 i32 126, label %return | |
184 i32 127, label %return | |
185 ] | |
186 | |
187 sw.default74: ; preds = %sw.bb68 | |
188 br label %return | |
189 | |
190 sw.bb75: ; preds = %sw.bb66 | |
191 %conv76 = and i64 %and22, 255 | |
192 %cond10 = icmp eq i64 %conv76, 3 | |
193 br i1 %cond10, label %sw.bb77, label %return | |
194 | |
195 sw.bb77: ; preds = %sw.bb75 | |
196 %conv78 = and i32 %conv28, 255 | |
197 switch i32 %conv78, label %return [ | |
198 i32 1, label %sw.bb79 | |
199 i32 2, label %sw.bb84 | |
200 i32 3, label %sw.bb92 | |
201 i32 4, label %sw.bb96 | |
202 ] | |
203 | |
204 sw.bb79: ; preds = %sw.bb77 | |
205 %conv80 = and i32 %conv32, 255 | |
206 switch i32 %conv80, label %sw.default83 [ | |
207 i32 1, label %return | |
208 i32 16, label %sw.bb82 | |
209 ] | |
210 | |
211 sw.bb82: ; preds = %sw.bb79 | |
212 br label %return | |
213 | |
214 sw.default83: ; preds = %sw.bb79 | |
215 br label %return | |
216 | |
217 sw.bb84: ; preds = %sw.bb77 | |
218 %conv85 = and i32 %conv32, 255 | |
219 switch i32 %conv85, label %sw.default91 [ | |
220 i32 1, label %return | |
221 i32 4, label %sw.bb87 | |
222 i32 5, label %sw.bb88 | |
223 i32 6, label %sw.bb89 | |
224 i32 28, label %sw.bb90 | |
225 ] | |
226 | |
227 sw.bb87: ; preds = %sw.bb84 | |
228 br label %return | |
229 | |
230 sw.bb88: ; preds = %sw.bb84 | |
231 br label %return | |
232 | |
233 sw.bb89: ; preds = %sw.bb84 | |
234 br label %return | |
235 | |
236 sw.bb90: ; preds = %sw.bb84 | |
237 br label %return | |
238 | |
239 sw.default91: ; preds = %sw.bb84 | |
240 br label %return | |
241 | |
242 sw.bb92: ; preds = %sw.bb77 | |
243 %conv93 = and i64 %and30, 255 | |
244 %cond11 = icmp eq i64 %conv93, 1 | |
245 %.36 = select i1 %cond11, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.
str778205, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str2
104, i32 0, i32 0) | |
246 br label %return | |
247 | |
248 sw.bb96: ; preds = %sw.bb77 | |
249 %conv97 = and i32 %conv32, 255 | |
250 switch i32 %conv97, label %sw.default106 [ | |
251 i32 1, label %return | |
252 i32 2, label %sw.bb99 | |
253 i32 3, label %sw.bb100 | |
254 i32 4, label %sw.bb101 | |
255 i32 5, label %sw.bb102 | |
256 i32 6, label %sw.bb103 | |
257 i32 7, label %sw.bb104 | |
258 i32 8, label %sw.bb105 | |
259 ] | |
260 | |
261 sw.bb99: ; preds = %sw.bb96 | |
262 br label %return | |
263 | |
264 sw.bb100: ; preds = %sw.bb96 | |
265 br label %return | |
266 | |
267 sw.bb101: ; preds = %sw.bb96 | |
268 br label %return | |
269 | |
270 sw.bb102: ; preds = %sw.bb96 | |
271 br label %return | |
272 | |
273 sw.bb103: ; preds = %sw.bb96 | |
274 br label %return | |
275 | |
276 sw.bb104: ; preds = %sw.bb96 | |
277 br label %return | |
278 | |
279 sw.bb105: ; preds = %sw.bb96 | |
280 br label %return | |
281 | |
282 sw.default106: ; preds = %sw.bb96 | |
283 br label %return | |
284 | |
285 sw.bb112: ; preds = %if.end | |
286 %4 = trunc i64 %and10 to i32 | |
287 %conv113 = and i32 %4, 255 | |
288 switch i32 %conv113, label %return [ | |
289 i32 4, label %sw.bb114 | |
290 i32 6, label %sw.bb127 | |
291 ] | |
292 | |
293 sw.bb114: ; preds = %sw.bb112 | |
294 %conv115 = and i64 %and14, 255 | |
295 %cond5 = icmp eq i64 %conv115, 2 | |
296 %conv117 = and i64 %and18, 255 | |
297 %cond6 = icmp eq i64 %conv117, 1 | |
298 %or.cond = and i1 %cond5, %cond6 | |
299 %conv119 = and i64 %and22, 255 | |
300 %cond7 = icmp eq i64 %conv119, 2 | |
301 %or.cond39 = and i1 %or.cond, %cond7 | |
302 br i1 %or.cond39, label %sw.bb120, label %return | |
303 | |
304 sw.bb120: ; preds = %sw.bb114 | |
305 %conv121 = and i64 %and26, 255 | |
306 %cond8 = icmp eq i64 %conv121, 4 | |
307 %.37 = select i1 %cond8, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str
514367, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104
, i32 0, i32 0) | |
308 br label %return | |
309 | |
310 sw.bb127: ; preds = %sw.bb112 | |
311 %conv128 = and i64 %and14, 255 | |
312 %cond = icmp eq i64 %conv128, 4 | |
313 %conv130 = and i64 %and18, 255 | |
314 %cond1 = icmp eq i64 %conv130, 1 | |
315 %or.cond40 = and i1 %cond, %cond1 | |
316 %conv132 = and i64 %and22, 255 | |
317 %cond2 = icmp eq i64 %conv132, 2 | |
318 %or.cond41 = and i1 %or.cond40, %cond2 | |
319 %conv134 = and i64 %and26, 255 | |
320 %cond3 = icmp eq i64 %conv134, 4 | |
321 %or.cond42 = and i1 %or.cond41, %cond3 | |
322 br i1 %or.cond42, label %sw.bb135, label %return | |
323 | |
324 sw.bb135: ; preds = %sw.bb127 | |
325 %conv136 = and i64 %and30, 255 | |
326 %cond4 = icmp eq i64 %conv136, 2 | |
327 %.38 = select i1 %cond4, i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.s
tr868214, i32 0, i32 0), i8* getelementptr inbounds ([1 x i8], [1 x i8]* @.str21
04, i32 0, i32 0) | |
328 br label %return | |
329 | |
330 return: ; preds = %sw.bb135, %sw.bb127
, %sw.bb120, %sw.bb114, %sw.bb112, %sw.default106, %sw.bb105, %sw.bb104, %sw.bb1
03, %sw.bb102, %sw.bb101, %sw.bb100, %sw.bb99, %sw.bb96, %sw.bb92, %sw.default91
, %sw.bb90, %sw.bb89, %sw.bb88, %sw.bb87, %sw.bb84, %sw.default83, %sw.bb82, %sw
.bb79, %sw.bb77, %sw.bb75, %sw.default74, %sw.bb68, %sw.bb68, %sw.bb68, %sw.bb68
, %sw.bb66, %sw.bb64, %sw.default61, %sw.bb60, %sw.bb56, %sw.default54, %sw.bb53
, %sw.bb52, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb44, %sw.bb42
, %sw.bb39, %sw.bb37, %sw.bb35, %sw.bb, %if.end, %lor.lhs.false, %entry | |
331 %retval.0 = phi i8* [ getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i
32 0, i32 0), %sw.default106 ], [ getelementptr inbounds ([44 x i8], [44 x i8]*
@.str858213, i32 0, i32 0), %sw.bb105 ], [ getelementptr inbounds ([29 x i8], [2
9 x i8]* @.str848212, i32 0, i32 0), %sw.bb104 ], [ getelementptr inbounds ([31
x i8], [31 x i8]* @.str838211, i32 0, i32 0), %sw.bb103 ], [ getelementptr inbou
nds ([34 x i8], [34 x i8]* @.str828210, i32 0, i32 0), %sw.bb102 ], [ getelement
ptr inbounds ([20 x i8], [20 x i8]* @.str818209, i32 0, i32 0), %sw.bb101 ], [ g
etelementptr inbounds ([24 x i8], [24 x i8]* @.str808208, i32 0, i32 0), %sw.bb1
00 ], [ getelementptr inbounds ([25 x i8], [25 x i8]* @.str798207, i32 0, i32 0)
, %sw.bb99 ], [ getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i3
2 0), %sw.default91 ], [ getelementptr inbounds ([8 x i8], [8 x i8]* @.str768204
, i32 0, i32 0), %sw.bb90 ], [ getelementptr inbounds ([21 x i8], [21 x i8]* @.s
tr758203, i32 0, i32 0), %sw.bb89 ], [ getelementptr inbounds ([26 x i8], [26 x
i8]* @.str748202, i32 0, i32 0), %sw.bb88 ], [ getelementptr inbounds ([21 x i8]
, [21 x i8]* @.str738201, i32 0, i32 0), %sw.bb87 ], [ getelementptr inbounds ([
1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.default83 ], [ getelementptr in
bounds ([9 x i8], [9 x i8]* @.str718199, i32 0, i32 0), %sw.bb82 ], [ getelement
ptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.default74 ], [ g
etelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.default
61 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.str514367, i32 0, i32 0),
%sw.bb60 ], [ getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32
0), %sw.default54 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str2417235,
i32 0, i32 0), %sw.bb53 ], [ getelementptr inbounds ([14 x i8], [14 x i8]* @.st
r2317234, i32 0, i32 0), %sw.bb52 ], [ getelementptr inbounds ([1 x i8], [1 x i8
]* @.str2104, i32 0, i32 0), %lor.lhs.false ], [ getelementptr inbounds ([1 x i8
], [1 x i8]* @.str2104, i32 0, i32 0), %entry ], [ %., %sw.bb39 ], [ getelementp
tr inbounds ([11 x i8], [11 x i8]* @.str2017231, i32 0, i32 0), %sw.bb44 ], [ ge
telementptr inbounds ([11 x i8], [11 x i8]* @.str2017231, i32 0, i32 0), %sw.bb4
4 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str2017231, i32 0, i32 0)
, %sw.bb44 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str2017231, i32
0, i32 0), %sw.bb44 ], [ getelementptr inbounds ([11 x i8], [11 x i8]* @.str2017
231, i32 0, i32 0), %sw.bb44 ], [ getelementptr inbounds ([11 x i8], [11 x i8]*
@.str2017231, i32 0, i32 0), %sw.bb44 ], [ getelementptr inbounds ([3 x i8], [3
x i8]* @.str20216493, i32 0, i32 0), %sw.bb42 ], [ %.35, %sw.bb56 ], [ getelemen
tptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb37 ], [ getel
ementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb35 ], [ g
etelementptr inbounds ([4 x i8], [4 x i8]* @.str3217243, i32 0, i32 0), %sw.bb68
], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str3217243, i32 0, i32 0), %
sw.bb68 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str3217243, i32 0, i3
2 0), %sw.bb68 ], [ getelementptr inbounds ([4 x i8], [4 x i8]* @.str3217243, i3
2 0, i32 0), %sw.bb68 ], [ getelementptr inbounds ([6 x i8], [6 x i8]* @.str3981
67, i32 0, i32 0), %sw.bb79 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.s
tr2717238, i32 0, i32 0), %sw.bb84 ], [ %.36, %sw.bb92 ], [ getelementptr inboun
ds ([22 x i8], [22 x i8]* @.str788206, i32 0, i32 0), %sw.bb96 ], [ getelementpt
r inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb77 ], [ geteleme
ntptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb75 ], [ gete
lementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb66 ], [
getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb64 ]
, [ getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb
], [ %.37, %sw.bb120 ], [ getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104
, i32 0, i32 0), %sw.bb114 ], [ %.38, %sw.bb135 ], [ getelementptr inbounds ([1
x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb127 ], [ getelementptr inbounds
([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %sw.bb112 ], [ getelementptr inb
ounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %if.end ] | |
332 ret i8* %retval.0 | |
333 } | |
334 | |
335 ; Function Attrs: nounwind readonly | |
336 define hidden i8* @_ZN12MediaInfoLib27Mxf_Sequence_DataDefinitionEN6ZenLib7uint1
28E(%"class.ZenLib::uint128"* nocapture readonly %DataDefinition) #0 { | |
337 entry: | |
338 %lo = getelementptr inbounds %"class.ZenLib::uint128", %"class.ZenLib::uint128
"* %DataDefinition, i32 0, i32 0 | |
339 %0 = load i64, i64* %lo, align 1 | |
340 %and = lshr i64 %0, 32 | |
341 %conv = trunc i64 %and to i32 | |
342 %and2 = lshr i64 %0, 24 | |
343 %conv5 = and i32 %conv, 255 | |
344 switch i32 %conv5, label %return [ | |
345 i32 1, label %sw.bb | |
346 i32 2, label %sw.bb9 | |
347 ] | |
348 | |
349 sw.bb: ; preds = %entry | |
350 %conv4 = trunc i64 %and2 to i32 | |
351 %conv6 = and i32 %conv4, 255 | |
352 switch i32 %conv6, label %sw.default [ | |
353 i32 1, label %return | |
354 i32 2, label %return | |
355 i32 3, label %return | |
356 i32 16, label %sw.bb8 | |
357 ] | |
358 | |
359 sw.bb8: ; preds = %sw.bb | |
360 br label %return | |
361 | |
362 sw.default: ; preds = %sw.bb | |
363 br label %return | |
364 | |
365 sw.bb9: ; preds = %entry | |
366 %1 = trunc i64 %and2 to i32 | |
367 %conv10 = and i32 %1, 255 | |
368 switch i32 %conv10, label %sw.default14 [ | |
369 i32 1, label %return | |
370 i32 2, label %sw.bb12 | |
371 i32 3, label %sw.bb13 | |
372 ] | |
373 | |
374 sw.bb12: ; preds = %sw.bb9 | |
375 br label %return | |
376 | |
377 sw.bb13: ; preds = %sw.bb9 | |
378 br label %return | |
379 | |
380 sw.default14: ; preds = %sw.bb9 | |
381 br label %return | |
382 | |
383 return: ; preds = %sw.default14, %sw.b
b13, %sw.bb12, %sw.bb9, %sw.default, %sw.bb8, %sw.bb, %sw.bb, %sw.bb, %entry | |
384 %retval.0 = phi i8* [ getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i
32 0, i32 0), %sw.default14 ], [ getelementptr inbounds ([5 x i8], [5 x i8]* @.s
tr1717689, i32 0, i32 0), %sw.bb13 ], [ getelementptr inbounds ([6 x i8], [6 x i
8]* @.str928220, i32 0, i32 0), %sw.bb12 ], [ getelementptr inbounds ([1 x i8],
[1 x i8]* @.str2104, i32 0, i32 0), %sw.default ], [ getelementptr inbounds ([21
x i8], [21 x i8]* @.str908218, i32 0, i32 0), %sw.bb8 ], [ getelementptr inboun
ds ([5 x i8], [5 x i8]* @.str9210864, i32 0, i32 0), %sw.bb ], [ getelementptr i
nbounds ([5 x i8], [5 x i8]* @.str9210864, i32 0, i32 0), %sw.bb ], [ getelement
ptr inbounds ([5 x i8], [5 x i8]* @.str9210864, i32 0, i32 0), %sw.bb ], [ getel
ementptr inbounds ([8 x i8], [8 x i8]* @.str918219, i32 0, i32 0), %sw.bb9 ], [
getelementptr inbounds ([1 x i8], [1 x i8]* @.str2104, i32 0, i32 0), %entry ] | |
385 ret i8* %retval.0 | |
386 } | |
387 | |
388 | |
389 define i32 @main() { | |
390 entry: | |
391 %retval = alloca i32, align 4 | |
392 store i32 0, i32* %retval | |
393 %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([15 x i8], [15
x i8]* @.str, i32 0, i32 0)) | |
394 ret i32 0 | |
395 } | |
396 | |
397 declare i32 @printf(i8*, ...) | |
398 | |
399 attributes #0 = { nounwind readonly } | |
OLD | NEW |