1 #include <OOC/SSA/DeadCodeElimination.d>
2 #include <__oo2c.h>
3 #include <setjmp.h>
4
OOC_SSA_DeadCodeElimination__MarkLive(OOC_SSA__Result res)5 static void OOC_SSA_DeadCodeElimination__MarkLive(OOC_SSA__Result res) {
6 register OOC_INT64 i0,i1,i2,i3;
7 OOC_SSA__Instr instr;
8 OOC_SSA__Opnd opnd;
9 OOC_INT32 i;
10 OOC_SSA__Instr loopEnd;
11 auto void OOC_SSA_DeadCodeElimination__MarkLive_MarkStore(OOC_SSA__Opnd opnd, OOC_INT32 index);
12
13 void OOC_SSA_DeadCodeElimination__MarkLive_MarkStore(OOC_SSA__Opnd opnd, OOC_INT32 index) {
14 register OOC_INT64 i0,i1,i2;
15
16 i0 = index;
17 i1 = i0<1;
18 if (i1) goto l7;
19 i1 = i0==1;
20 if (i1) goto l5;
21 i1=0u;
22 goto l9;
23 l5:
24 i1 = (OOC_INT64)opnd;
25 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 1261));
26 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 1265))+16);
27 i1 = *(OOC_INT8*)((_check_pointer(i1, 1271))+72);
28 i1 = i1!=6;
29
30 goto l9;
31 l7:
32 i1=1u;
33 l9:
34 if (i1) goto l11;
35 i1 = (OOC_INT64)opnd;
36 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 1360));
37 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 1364))+16);
38 i2 = *(OOC_INT8*)((_check_pointer(i2, 1370))+72);
39 _assert((i2==6), 127, 1349);
40 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 1409));
41 *(OOC_INT32*)((_check_pointer(i2, 1413))+40) = 1;
42 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 1451));
43 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 1455))+16);
44 i0 = (OOC_INT64)OOC_SSA__InstrDesc_NthArg((OOC_SSA__Instr)i1, (i0-1));
45 OOC_SSA_DeadCodeElimination__MarkLive((OOC_SSA__Result)i0);
46 goto l12;
47 l11:
48 i0 = (OOC_INT64)opnd;
49 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 1323));
50 OOC_SSA_DeadCodeElimination__MarkLive((OOC_SSA__Result)i0);
51 l12:
52 return;
53 ;
54 }
55
56
57 i0 = (OOC_INT64)res;
58 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 1537))+16);
59 instr = (OOC_SSA__Instr)i1;
60 i2 = *(OOC_INT32*)((_check_pointer(i1, 1563))+40);
61 i2 = i2==0;
62 if (!i2) goto l18;
63 *(OOC_INT32*)((_check_pointer(i1, 1595))+40) = 1;
64 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 1632))+48);
65 opnd = (OOC_SSA__Opnd)i2;
66 i3 = *(OOC_INT8*)((_check_pointer(i1, 1659))+72);
67 i3 = i3!=6;
68 if (i3) goto l5;
69 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 2095));
70 OOC_SSA_DeadCodeElimination__MarkLive((OOC_SSA__Result)i2);
71 goto l18;
72 l5:
73 i3 = i2!=(OOC_INT64)0;
74 if (!i3) goto l18;
75 l8_loop:
76 i3 = *(OOC_INT8*)((_check_pointer(i2, 1738))+8);
77 i3 = i3!=11;
78 if (!i3) goto l11;
79 i3 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 1926));
80 OOC_SSA_DeadCodeElimination__MarkLive((OOC_SSA__Result)i3);
81 l11:
82 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 1971))+16);
83 opnd = (OOC_SSA__Opnd)i2;
84 i3 = i2!=(OOC_INT64)0;
85 if (i3) goto l8_loop;
86 l18:
87 i2 = *(OOC_INT8*)((_check_pointer(i1, 2142))+72);
88 switch (i2) {
89 case 5:
90 i2 = *(OOC_INT32*)((_check_pointer(i0, 2187))+40);
91 i2 = i2==0;
92 if (!i2) goto l69;
93 *(OOC_INT32*)((_check_pointer(i0, 2219))+40) = 1;
94 i0 = OOC_SSA__ResultDesc_ResultIndex((OOC_SSA__Result)i0);
95 i = i0;
96 i0 = (OOC_INT64)OOC_SSA__InstrDesc_NthOpnd((OOC_SSA__Instr)i1, 2);
97 opnd = (OOC_SSA__Opnd)i0;
98 i1 = i0!=(OOC_INT64)0;
99 if (i1) goto l25;
100 i1=0u;
101 goto l27;
102 l25:
103 i1 = *(OOC_INT8*)((_check_pointer(i0, 2345))+8);
104 i1 = i1==1;
105
106 l27:
107 if (!i1) goto l69;
108 l29_loop:
109 i1 = i;
110 OOC_SSA_DeadCodeElimination__MarkLive_MarkStore((OOC_SSA__Opnd)i0, i1);
111 i0 = (OOC_INT64)opnd;
112 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2419))+16);
113 opnd = (OOC_SSA__Opnd)i0;
114 i1 = i0!=(OOC_INT64)0;
115 if (!i1) goto l33;
116 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2485))+16);
117 opnd = (OOC_SSA__Opnd)i0;
118
119 l33:
120 i1 = i0!=(OOC_INT64)0;
121 if (i1) goto l36;
122 i1=0u;
123 goto l38;
124 l36:
125 i1 = *(OOC_INT8*)((_check_pointer(i0, 2345))+8);
126 i1 = i1==1;
127
128 l38:
129 if (i1) goto l29_loop;
130 goto l69;
131 case 10:
132 i2 = *(OOC_INT32*)((_check_pointer(i0, 2579))+40);
133 i2 = i2==0;
134 if (!i2) goto l69;
135 *(OOC_INT32*)((_check_pointer(i0, 2611))+40) = 1;
136 i0 = OOC_SSA__ResultDesc_ResultIndex((OOC_SSA__Result)i0);
137 i = i0;
138 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 2692))+48);
139 OOC_SSA_DeadCodeElimination__MarkLive_MarkStore((OOC_SSA__Opnd)i1, i0);
140 i0 = (OOC_INT64)instr;
141 i1 = (OOC_INT64)OOC_SSA__InstrDesc_GetLoopEnd((OOC_SSA__Instr)i0);
142 loopEnd = (OOC_SSA__Instr)i1;
143 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 2768))+48);
144 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 2777));
145 _assert((i2==i0), 127, 2754);
146 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 2817))+48);
147 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 2826))+16);
148 i1 = i;
149 OOC_SSA_DeadCodeElimination__MarkLive_MarkStore((OOC_SSA__Opnd)i0, i1);
150 goto l69;
151 case 11:
152 i2 = *(OOC_INT32*)((_check_pointer(i0, 2894))+40);
153 i2 = i2==0;
154 if (!i2) goto l69;
155 *(OOC_INT32*)((_check_pointer(i0, 2926))+40) = 1;
156 i0 = OOC_SSA__ResultDesc_ResultIndex((OOC_SSA__Result)i0);
157 i = i0;
158 i0 = (OOC_INT64)OOC_SSA__InstrDesc_NthOpnd((OOC_SSA__Instr)i1, 2);
159 opnd = (OOC_SSA__Opnd)i0;
160 i1 = i0!=(OOC_INT64)0;
161 if (i1) goto l53;
162 i1=0u;
163 goto l55;
164 l53:
165 i1 = *(OOC_INT8*)((_check_pointer(i0, 3052))+8);
166 i1 = i1==11;
167
168 l55:
169 if (!i1) goto l69;
170 l57_loop:
171 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 3101));
172 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 3105))+16);
173 i1 = *(OOC_INT8*)((_check_pointer(i1, 3111))+72);
174 _assert((i1==9), 127, 3090);
175 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 3159));
176 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3163))+16);
177 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3169))+48);
178 i1 = i;
179 OOC_SSA_DeadCodeElimination__MarkLive_MarkStore((OOC_SSA__Opnd)i0, i1);
180 i0 = (OOC_INT64)opnd;
181 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3206))+16);
182 opnd = (OOC_SSA__Opnd)i0;
183 i1 = i0!=(OOC_INT64)0;
184 if (i1) goto l60;
185 i1=0u;
186 goto l62;
187 l60:
188 i1 = *(OOC_INT8*)((_check_pointer(i0, 3052))+8);
189 i1 = i1==11;
190
191 l62:
192 if (i1) goto l57_loop;
193 goto l69;
194 default:
195 goto l69;
196 }
197 l69:
198 return;
199 ;
200 }
201
OOC_SSA_DeadCodeElimination__DeleteDeadCode(OOC_SSA__ProcBlock pb)202 static void OOC_SSA_DeadCodeElimination__DeleteDeadCode(OOC_SSA__ProcBlock pb) {
203 register OOC_INT64 i0,i1,i2;
204 OOC_SSA__Instr instr;
205 OOC_SSA__Instr next;
206 OOC_SSA__Opnd use;
207 OOC_SSA__Opnd nextUse;
208 OOC_SSA__Result res;
209 OOC_SSA__Result nextResult;
210 OOC_INT32 i;
211 OOC_SSA__Opnd opnd;
212 OOC_SSA__Instr loopEnd;
213 auto void OOC_SSA_DeadCodeElimination__DeleteDeadCode_DeleteStore(OOC_SSA__Opnd opnd, OOC_INT32 index);
214
215 void OOC_SSA_DeadCodeElimination__DeleteDeadCode_DeleteStore(OOC_SSA__Opnd opnd, OOC_INT32 index) {
216 register OOC_INT64 i0,i1,i2;
217
218 i0 = index;
219 _assert((i0>1), 127, 3536);
220 i1 = (OOC_INT64)opnd;
221 i2 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 3572));
222 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 3576))+16);
223 i2 = *(OOC_INT8*)((_check_pointer(i2, 3582))+72);
224 _assert((i2==6), 127, 3561);
225 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i1, 3627));
226 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 3631))+16);
227 i0 = (OOC_INT64)OOC_SSA__InstrDesc_NthOpnd((OOC_SSA__Instr)i1, (i0-1));
228 OOC_SSA__OpndDesc_DeleteOpnd((OOC_SSA__Opnd)i0);
229 return;
230 ;
231 }
232
233
234 i0 = (OOC_INT64)pb;
235 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3728))+24);
236 instr = (OOC_SSA__Instr)i0;
237 i1 = i0!=(OOC_INT64)0;
238 if (!i1) goto l104;
239 l3_loop:
240 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 3787))+56);
241 next = (OOC_SSA__Instr)i1;
242 i1 = *(OOC_INT32*)((_check_pointer(i0, 3814))+40);
243 i1 = i1==0;
244 if (i1) goto l86;
245 i1 = *(OOC_INT8*)((_check_pointer(i0, 4277))+72);
246 i1 = i1==5;
247 if (i1) goto l53;
248 i1 = *(OOC_INT8*)((_check_pointer(i0, 5036))+72);
249 i1 = i1==10;
250 if (i1) goto l40;
251 i1 = *(OOC_INT8*)((_check_pointer(i0, 5655))+72);
252 i1 = i1==11;
253 if (!i1) goto l99;
254 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 5706));
255 res = (OOC_SSA__Result)i0;
256 i1 = i0!=(OOC_INT64)0;
257 if (!i1) goto l99;
258 l14_loop:
259 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 5775));
260 nextResult = (OOC_SSA__Result)i1;
261 i1 = *(OOC_INT32*)((_check_pointer(i0, 5805))+40);
262 i1 = i1==0;
263 if (!i1) goto l33;
264 i0 = OOC_SSA__ResultDesc_ResultIndex((OOC_SSA__Result)i0);
265 i = i0;
266 i0 = (OOC_INT64)instr;
267 i0 = (OOC_INT64)OOC_SSA__InstrDesc_NthOpnd((OOC_SSA__Instr)i0, 2);
268 opnd = (OOC_SSA__Opnd)i0;
269 i1 = i0!=(OOC_INT64)0;
270 if (i1) goto l19;
271 i1=0u;
272 goto l21;
273 l19:
274 i1 = *(OOC_INT8*)((_check_pointer(i0, 6093))+8);
275 i1 = i1==11;
276
277 l21:
278 if (!i1) goto l32;
279 l23_loop:
280 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 6151));
281 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6155))+16);
282 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6161))+48);
283 i1 = i;
284 OOC_SSA_DeadCodeElimination__DeleteDeadCode_DeleteStore((OOC_SSA__Opnd)i0, i1);
285 i0 = (OOC_INT64)opnd;
286 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 6202))+16);
287 opnd = (OOC_SSA__Opnd)i0;
288 i1 = i0!=(OOC_INT64)0;
289 if (i1) goto l26;
290 i1=0u;
291 goto l28;
292 l26:
293 i1 = *(OOC_INT8*)((_check_pointer(i0, 6093))+8);
294 i1 = i1==11;
295
296 l28:
297 if (i1) goto l23_loop;
298 l32:
299 i0 = (OOC_INT64)res;
300 OOC_SSA__ResultDesc_DeleteResult((OOC_SSA__Result)i0);
301 l33:
302 i0 = (OOC_INT64)nextResult;
303 res = (OOC_SSA__Result)i0;
304 i1 = i0!=(OOC_INT64)0;
305 if (i1) goto l14_loop;
306 goto l99;
307 l40:
308 i1 = (OOC_INT64)OOC_SSA__InstrDesc_GetLoopEnd((OOC_SSA__Instr)i0);
309 loopEnd = (OOC_SSA__Instr)i1;
310 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 5128));
311 res = (OOC_SSA__Result)i0;
312 i1 = i0!=(OOC_INT64)0;
313 if (!i1) goto l99;
314 l43_loop:
315 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 5197));
316 nextResult = (OOC_SSA__Result)i1;
317 i1 = *(OOC_INT32*)((_check_pointer(i0, 5227))+40);
318 i1 = i1==0;
319 if (!i1) goto l46;
320 i0 = OOC_SSA__ResultDesc_ResultIndex((OOC_SSA__Result)i0);
321 i = i0;
322 i1 = (OOC_INT64)instr;
323 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 5477))+48);
324 OOC_SSA_DeadCodeElimination__DeleteDeadCode_DeleteStore((OOC_SSA__Opnd)i1, i0);
325 i0 = (OOC_INT64)loopEnd;
326 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 5523))+48);
327 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 5532))+16);
328 i1 = i;
329 OOC_SSA_DeadCodeElimination__DeleteDeadCode_DeleteStore((OOC_SSA__Opnd)i0, i1);
330 i0 = (OOC_INT64)res;
331 OOC_SSA__ResultDesc_DeleteResult((OOC_SSA__Result)i0);
332 l46:
333 i0 = (OOC_INT64)nextResult;
334 res = (OOC_SSA__Result)i0;
335 i1 = i0!=(OOC_INT64)0;
336 if (i1) goto l43_loop;
337 goto l99;
338 l53:
339 i0 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 4327));
340 res = (OOC_SSA__Result)i0;
341 i1 = i0!=(OOC_INT64)0;
342 if (!i1) goto l99;
343 l56_loop:
344 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 4396));
345 nextResult = (OOC_SSA__Result)i1;
346 i1 = *(OOC_INT32*)((_check_pointer(i0, 4426))+40);
347 i1 = i1==0;
348 if (!i1) goto l79;
349 i0 = OOC_SSA__ResultDesc_ResultIndex((OOC_SSA__Result)i0);
350 i = i0;
351 i0 = (OOC_INT64)instr;
352 i0 = (OOC_INT64)OOC_SSA__InstrDesc_NthOpnd((OOC_SSA__Instr)i0, 2);
353 opnd = (OOC_SSA__Opnd)i0;
354 i1 = i0!=(OOC_INT64)0;
355 if (i1) goto l61;
356 i1=0u;
357 goto l63;
358 l61:
359 i1 = *(OOC_INT8*)((_check_pointer(i0, 4715))+8);
360 i1 = i1==1;
361
362 l63:
363 if (!i1) goto l78;
364 l65_loop:
365 i1 = i;
366 OOC_SSA_DeadCodeElimination__DeleteDeadCode_DeleteStore((OOC_SSA__Opnd)i0, i1);
367 i0 = (OOC_INT64)opnd;
368 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4799))+16);
369 opnd = (OOC_SSA__Opnd)i0;
370 i1 = i0!=(OOC_INT64)0;
371 if (!i1) goto l69;
372 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 4873))+16);
373 opnd = (OOC_SSA__Opnd)i0;
374
375 l69:
376 i1 = i0!=(OOC_INT64)0;
377 if (i1) goto l72;
378 i1=0u;
379 goto l74;
380 l72:
381 i1 = *(OOC_INT8*)((_check_pointer(i0, 4715))+8);
382 i1 = i1==1;
383
384 l74:
385 if (i1) goto l65_loop;
386 l78:
387 i0 = (OOC_INT64)res;
388 OOC_SSA__ResultDesc_DeleteResult((OOC_SSA__Result)i0);
389 l79:
390 i0 = (OOC_INT64)nextResult;
391 res = (OOC_SSA__Result)i0;
392 i1 = i0!=(OOC_INT64)0;
393 if (i1) goto l56_loop;
394 goto l99;
395 l86:
396 i1 = *(OOC_INT8*)((_check_pointer(i0, 3854))+72);
397 switch (i1) {
398 case 9:
399 case 7:
400 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 4036));
401 i1 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 4048))+24);
402 use = (OOC_SSA__Opnd)i1;
403 i2 = i1!=(OOC_INT64)0;
404 if (!i2) goto l98;
405 l91_loop:
406 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i1, 4116))+32);
407 nextUse = (OOC_SSA__Opnd)i2;
408 OOC_SSA__OpndDesc_DeleteOpnd((OOC_SSA__Opnd)i1);
409 use = (OOC_SSA__Opnd)i2;
410 i1 = i2!=(OOC_INT64)0;
411 if (!i1) goto l98;
412 i1=i2;
413 goto l91_loop;
414 default:
415 goto l98;
416 }
417 l98:
418 i1 = (OOC_INT64)pb;
419 OOC_SSA__ProcBlockDesc_DeleteInstr((OOC_SSA__ProcBlock)i1, (OOC_SSA__Instr)i0);
420 l99:
421 i0 = (OOC_INT64)next;
422 instr = (OOC_SSA__Instr)i0;
423 i1 = i0!=(OOC_INT64)0;
424 if (i1) goto l3_loop;
425 l104:
426 return;
427 ;
428 }
429
OOC_SSA_DeadCodeElimination__Transform(OOC_SSA__ProcBlock pb)430 void OOC_SSA_DeadCodeElimination__Transform(OOC_SSA__ProcBlock pb) {
431 register OOC_INT64 i0,i1;
432
433 i0 = (OOC_INT64)pb;
434 OOC_SSA__ProcBlockDesc_SetMarkers((OOC_SSA__ProcBlock)i0, (OOC_SSA__Node)(OOC_INT64)0, 0);
435 i1 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i0, 6772));
436 OOC_SSA_DeadCodeElimination__MarkLive((OOC_SSA__Result)i1);
437 OOC_SSA_DeadCodeElimination__DeleteDeadCode((OOC_SSA__ProcBlock)i0);
438 return;
439 ;
440 }
441
OOC_SSA_DeadCodeElimination__RemoveDesignators(OOC_SSA__ProcBlock pb)442 void OOC_SSA_DeadCodeElimination__RemoveDesignators(OOC_SSA__ProcBlock pb) {
443 register OOC_INT64 i0,i1,i2,i3,i4;
444 OOC_SSA__Instr repl;
445 OOC_SSA__Instr instr;
446 OOC_SSA__Opnd opnd;
447 OOC_SSA__Opnd next;
448
449 i0 = (OOC_INT64)pb;
450 i1 = (OOC_INT64)OOC_SSA__ProcBlockDesc_AddInstr((OOC_SSA__ProcBlock)i0, 84, 0);
451 repl = (OOC_SSA__Instr)i1;
452 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 7665))+24);
453 instr = (OOC_SSA__Instr)i0;
454 i2 = i0!=(OOC_INT64)0;
455 if (!i2) goto l31;
456 l3_loop:
457 i2 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 7723))+48);
458 opnd = (OOC_SSA__Opnd)i2;
459 i3 = i2!=(OOC_INT64)0;
460 if (!i3) goto l26;
461 l6_loop:
462 i3 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i2, 7782))+16);
463 next = (OOC_SSA__Opnd)i3;
464 i4 = *(OOC_INT8*)((_check_pointer(i2, 7810))+8);
465 i4 = i4==5;
466 if (i4) goto l9;
467 i4 = *(OOC_INT8*)((_check_pointer(i2, 7842))+8);
468 i4 = i4==7;
469
470 goto l11;
471 l9:
472 i4=1u;
473 l11:
474 if (i4) goto l13;
475 i4=0u;
476 goto l19;
477 l13:
478 i4 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 7888));
479 i4 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 7893)))), &_td_OOC_SSA__DeclRefDesc);
480 if (i4) goto l16;
481 i4 = (OOC_INT64)*(OOC_INT64*)(_check_pointer(i2, 7917));
482 i4 = OOC_TYPE_TEST(((OOC_INT64)OOC_TYPE_TAG((_check_pointer(i4, 7922)))), &_td_OOC_SSA__TypeRefDesc);
483
484 goto l17;
485 l16:
486 i4=1u;
487 l17:
488 i4 = !i4;
489
490 l19:
491 if (!i4) goto l21;
492 OOC_SSA__OpndDesc_ReplaceArg((OOC_SSA__Opnd)i2, (OOC_SSA__Result)i1);
493 l21:
494 opnd = (OOC_SSA__Opnd)i3;
495 i2 = i3!=(OOC_INT64)0;
496 if (!i2) goto l26;
497 i2=i3;
498 goto l6_loop;
499 l26:
500 i0 = (OOC_INT64)*(OOC_INT64*)((_check_pointer(i0, 8043))+56);
501 instr = (OOC_SSA__Instr)i0;
502 i2 = i0!=(OOC_INT64)0;
503 if (i2) goto l3_loop;
504 l31:
505 return;
506 ;
507 }
508
OOC_OOC_SSA_DeadCodeElimination_init(void)509 void OOC_OOC_SSA_DeadCodeElimination_init(void) {
510
511 return;
512 ;
513 }
514
OOC_OOC_SSA_DeadCodeElimination_destroy(void)515 void OOC_OOC_SSA_DeadCodeElimination_destroy(void) {
516 }
517
518 /* --- */
519