[OpenACC] Create AST nodes for 'data' constructs
[llvm-project.git] / llvm / test / Transforms / Attributor / reduced / aapointer_info_map_invalidation.ll
bloba7622143c2e7366fe387441397cb2864071f4e60
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --scrub-attributes --check-attributes
2 ; RUN: opt -passes=attributor -S < %s | FileCheck %s --check-prefixes=CHECK
4 define amdgpu_kernel void @__omp_offloading_fd00_2c00523__ZN11qmcplusplus7ompBLAS9gemv_implIfEEiRiciiT_PKS3_iS5_iS3_PS3_i_l383() {
5 ; CHECK: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn
6 ; CHECK-LABEL: define {{[^@]+}}@__omp_offloading_fd00_2c00523__ZN11qmcplusplus7ompBLAS9gemv_implIfEEiRiciiT_PKS3_iS5_iS3_PS3_i_l383
7 ; CHECK-SAME: () #[[ATTR0:[0-9]+]] {
8 ; CHECK-NEXT:    [[TMP1:%.*]] = alloca [0 x [0 x float]], i32 0, align 8, addrspace(5)
9 ; CHECK-NEXT:    [[TMP2:%.*]] = addrspacecast ptr addrspace(5) [[TMP1]] to ptr
10 ; CHECK-NEXT:    store ptr [[TMP2]], ptr addrspace(5) [[TMP1]], align 8
11 ; CHECK-NEXT:    [[TMP3:%.*]] = call fastcc i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr nocapture nofree noundef readonly align 8 dereferenceable_or_null(8) [[TMP2]], i1 noundef false)
12 ; CHECK-NEXT:    ret void
14   %1 = alloca [0 x [0 x float]], i32 0, align 8, addrspace(5)
15   %2 = addrspacecast ptr addrspace(5) %1 to ptr
16   store ptr %2, ptr addrspace(5) %1, align 8
17   %3 = call fastcc i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr %2, i1 false)
18   ret void
21 define fastcc i32 @__kmpc_nvptx_parallel_reduce_nowait_v2(ptr %0, i1 %1) {
22 ; CHECK: Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn
23 ; CHECK-LABEL: define {{[^@]+}}@__kmpc_nvptx_parallel_reduce_nowait_v2
24 ; CHECK-SAME: (ptr nocapture nofree nonnull readonly align 8 dereferenceable(8) [[TMP0:%.*]], i1 noundef [[TMP1:%.*]]) #[[ATTR0]] {
25 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP3:%.*]], label [[TMP79:%.*]]
26 ; CHECK:       3:
27 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP4:%.*]], label [[TMP6:%.*]]
28 ; CHECK:       4:
29 ; CHECK-NEXT:    [[TMP5:%.*]] = load ptr, ptr [[TMP0]], align 8
30 ; CHECK-NEXT:    store i64 0, ptr [[TMP5]], align 8
31 ; CHECK-NEXT:    br label [[TMP77:%.*]]
32 ; CHECK:       6:
33 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP7:%.*]], label [[TMP9:%.*]]
34 ; CHECK:       7:
35 ; CHECK-NEXT:    [[TMP8:%.*]] = load ptr, ptr [[TMP0]], align 8
36 ; CHECK-NEXT:    store i32 0, ptr [[TMP8]], align 4
37 ; CHECK-NEXT:    br label [[TMP77]]
38 ; CHECK:       9:
39 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP10:%.*]], label [[TMP12:%.*]]
40 ; CHECK:       10:
41 ; CHECK-NEXT:    [[TMP11:%.*]] = load ptr, ptr [[TMP0]], align 8
42 ; CHECK-NEXT:    store i32 0, ptr [[TMP11]], align 4
43 ; CHECK-NEXT:    br label [[TMP77]]
44 ; CHECK:       12:
45 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP13:%.*]], label [[TMP15:%.*]]
46 ; CHECK:       13:
47 ; CHECK-NEXT:    [[TMP14:%.*]] = load ptr, ptr [[TMP0]], align 8
48 ; CHECK-NEXT:    store i32 0, ptr [[TMP14]], align 4
49 ; CHECK-NEXT:    br label [[TMP77]]
50 ; CHECK:       15:
51 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP16:%.*]], label [[TMP18:%.*]]
52 ; CHECK:       16:
53 ; CHECK-NEXT:    [[TMP17:%.*]] = load ptr, ptr [[TMP0]], align 8
54 ; CHECK-NEXT:    store i32 0, ptr [[TMP17]], align 4
55 ; CHECK-NEXT:    br label [[TMP77]]
56 ; CHECK:       18:
57 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP19:%.*]], label [[TMP21:%.*]]
58 ; CHECK:       19:
59 ; CHECK-NEXT:    [[TMP20:%.*]] = load ptr, ptr [[TMP0]], align 8
60 ; CHECK-NEXT:    store i32 0, ptr [[TMP20]], align 4
61 ; CHECK-NEXT:    br label [[TMP77]]
62 ; CHECK:       21:
63 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP22:%.*]], label [[TMP24:%.*]]
64 ; CHECK:       22:
65 ; CHECK-NEXT:    [[TMP23:%.*]] = load ptr, ptr [[TMP0]], align 8
66 ; CHECK-NEXT:    store i32 0, ptr [[TMP23]], align 4
67 ; CHECK-NEXT:    br label [[TMP77]]
68 ; CHECK:       24:
69 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP25:%.*]], label [[TMP27:%.*]]
70 ; CHECK:       25:
71 ; CHECK-NEXT:    [[TMP26:%.*]] = load ptr, ptr [[TMP0]], align 8
72 ; CHECK-NEXT:    store i32 0, ptr [[TMP26]], align 8
73 ; CHECK-NEXT:    br label [[TMP77]]
74 ; CHECK:       27:
75 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP28:%.*]], label [[TMP30:%.*]]
76 ; CHECK:       28:
77 ; CHECK-NEXT:    [[TMP29:%.*]] = load ptr, ptr [[TMP0]], align 8
78 ; CHECK-NEXT:    store i32 0, ptr [[TMP29]], align 4
79 ; CHECK-NEXT:    br label [[TMP77]]
80 ; CHECK:       30:
81 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP31:%.*]], label [[TMP33:%.*]]
82 ; CHECK:       31:
83 ; CHECK-NEXT:    [[TMP32:%.*]] = load ptr, ptr [[TMP0]], align 8
84 ; CHECK-NEXT:    store i32 0, ptr [[TMP32]], align 4
85 ; CHECK-NEXT:    br label [[TMP77]]
86 ; CHECK:       33:
87 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP34:%.*]], label [[TMP36:%.*]]
88 ; CHECK:       34:
89 ; CHECK-NEXT:    [[TMP35:%.*]] = load ptr, ptr [[TMP0]], align 8
90 ; CHECK-NEXT:    store i32 0, ptr [[TMP35]], align 4
91 ; CHECK-NEXT:    br label [[TMP77]]
92 ; CHECK:       36:
93 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP37:%.*]], label [[TMP39:%.*]]
94 ; CHECK:       37:
95 ; CHECK-NEXT:    [[TMP38:%.*]] = load ptr, ptr [[TMP0]], align 8
96 ; CHECK-NEXT:    store i64 0, ptr [[TMP38]], align 8
97 ; CHECK-NEXT:    br label [[TMP77]]
98 ; CHECK:       39:
99 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP40:%.*]], label [[TMP42:%.*]]
100 ; CHECK:       40:
101 ; CHECK-NEXT:    [[TMP41:%.*]] = load ptr, ptr [[TMP0]], align 8
102 ; CHECK-NEXT:    store i64 0, ptr [[TMP41]], align 8
103 ; CHECK-NEXT:    br label [[TMP77]]
104 ; CHECK:       42:
105 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP43:%.*]], label [[TMP45:%.*]]
106 ; CHECK:       43:
107 ; CHECK-NEXT:    [[TMP44:%.*]] = load ptr, ptr [[TMP0]], align 8
108 ; CHECK-NEXT:    store i32 0, ptr [[TMP44]], align 4
109 ; CHECK-NEXT:    br label [[TMP77]]
110 ; CHECK:       45:
111 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP46:%.*]], label [[TMP48:%.*]]
112 ; CHECK:       46:
113 ; CHECK-NEXT:    [[TMP47:%.*]] = load ptr, ptr [[TMP0]], align 8
114 ; CHECK-NEXT:    store i32 0, ptr [[TMP47]], align 4
115 ; CHECK-NEXT:    br label [[TMP77]]
116 ; CHECK:       48:
117 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP49:%.*]], label [[TMP51:%.*]]
118 ; CHECK:       49:
119 ; CHECK-NEXT:    [[TMP50:%.*]] = load ptr, ptr [[TMP0]], align 8
120 ; CHECK-NEXT:    store i64 0, ptr [[TMP50]], align 8
121 ; CHECK-NEXT:    br label [[TMP77]]
122 ; CHECK:       51:
123 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP52:%.*]], label [[TMP54:%.*]]
124 ; CHECK:       52:
125 ; CHECK-NEXT:    [[TMP53:%.*]] = load ptr, ptr [[TMP0]], align 8
126 ; CHECK-NEXT:    store i64 0, ptr [[TMP53]], align 8
127 ; CHECK-NEXT:    br label [[TMP77]]
128 ; CHECK:       54:
129 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP55:%.*]], label [[TMP57:%.*]]
130 ; CHECK:       55:
131 ; CHECK-NEXT:    [[TMP56:%.*]] = load ptr, ptr [[TMP0]], align 8
132 ; CHECK-NEXT:    store i32 0, ptr [[TMP56]], align 4
133 ; CHECK-NEXT:    br label [[TMP77]]
134 ; CHECK:       57:
135 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP58:%.*]], label [[TMP60:%.*]]
136 ; CHECK:       58:
137 ; CHECK-NEXT:    [[TMP59:%.*]] = load ptr, ptr [[TMP0]], align 8
138 ; CHECK-NEXT:    store i32 0, ptr [[TMP59]], align 4
139 ; CHECK-NEXT:    br label [[TMP77]]
140 ; CHECK:       60:
141 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP61:%.*]], label [[TMP63:%.*]]
142 ; CHECK:       61:
143 ; CHECK-NEXT:    [[TMP62:%.*]] = load ptr, ptr [[TMP0]], align 8
144 ; CHECK-NEXT:    store i64 0, ptr [[TMP62]], align 8
145 ; CHECK-NEXT:    br label [[TMP77]]
146 ; CHECK:       63:
147 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP64:%.*]], label [[TMP66:%.*]]
148 ; CHECK:       64:
149 ; CHECK-NEXT:    [[TMP65:%.*]] = load ptr, ptr [[TMP0]], align 8
150 ; CHECK-NEXT:    store i64 0, ptr [[TMP65]], align 8
151 ; CHECK-NEXT:    br label [[TMP77]]
152 ; CHECK:       66:
153 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP67:%.*]], label [[TMP69:%.*]]
154 ; CHECK:       67:
155 ; CHECK-NEXT:    [[TMP68:%.*]] = load ptr, ptr [[TMP0]], align 8
156 ; CHECK-NEXT:    store i32 0, ptr [[TMP68]], align 4
157 ; CHECK-NEXT:    br label [[TMP77]]
158 ; CHECK:       69:
159 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP70:%.*]], label [[TMP72:%.*]]
160 ; CHECK:       70:
161 ; CHECK-NEXT:    [[TMP71:%.*]] = load ptr, ptr [[TMP0]], align 8
162 ; CHECK-NEXT:    store i32 0, ptr [[TMP71]], align 4
163 ; CHECK-NEXT:    br label [[TMP77]]
164 ; CHECK:       72:
165 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP73:%.*]], label [[TMP75:%.*]]
166 ; CHECK:       73:
167 ; CHECK-NEXT:    [[TMP74:%.*]] = load ptr, ptr [[TMP0]], align 8
168 ; CHECK-NEXT:    store i32 0, ptr [[TMP74]], align 4
169 ; CHECK-NEXT:    br label [[TMP77]]
170 ; CHECK:       75:
171 ; CHECK-NEXT:    [[TMP76:%.*]] = load ptr, ptr [[TMP0]], align 8
172 ; CHECK-NEXT:    store i32 0, ptr [[TMP76]], align 4
173 ; CHECK-NEXT:    br label [[TMP77]]
174 ; CHECK:       77:
175 ; CHECK-NEXT:    [[TMP78:%.*]] = load ptr, ptr [[TMP0]], align 8
176 ; CHECK-NEXT:    store i32 0, ptr [[TMP78]], align 4
177 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP80:%.*]], label [[TMP82:%.*]]
178 ; CHECK:       79:
179 ; CHECK-NEXT:    ret i32 0
180 ; CHECK:       80:
181 ; CHECK-NEXT:    [[TMP81:%.*]] = load ptr, ptr [[TMP0]], align 8
182 ; CHECK-NEXT:    store i64 0, ptr [[TMP81]], align 8
183 ; CHECK-NEXT:    ret i32 0
184 ; CHECK:       82:
185 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP83:%.*]], label [[TMP85:%.*]]
186 ; CHECK:       83:
187 ; CHECK-NEXT:    [[TMP84:%.*]] = load ptr, ptr [[TMP0]], align 8
188 ; CHECK-NEXT:    store i32 0, ptr [[TMP84]], align 4
189 ; CHECK-NEXT:    ret i32 0
190 ; CHECK:       85:
191 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP86:%.*]], label [[TMP88:%.*]]
192 ; CHECK:       86:
193 ; CHECK-NEXT:    [[TMP87:%.*]] = load ptr, ptr [[TMP0]], align 8
194 ; CHECK-NEXT:    store i32 0, ptr [[TMP87]], align 4
195 ; CHECK-NEXT:    ret i32 0
196 ; CHECK:       88:
197 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP89:%.*]], label [[TMP91:%.*]]
198 ; CHECK:       89:
199 ; CHECK-NEXT:    [[TMP90:%.*]] = load ptr, ptr [[TMP0]], align 8
200 ; CHECK-NEXT:    store i32 0, ptr [[TMP90]], align 4
201 ; CHECK-NEXT:    ret i32 0
202 ; CHECK:       91:
203 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP92:%.*]], label [[TMP94:%.*]]
204 ; CHECK:       92:
205 ; CHECK-NEXT:    [[TMP93:%.*]] = load ptr, ptr [[TMP0]], align 8
206 ; CHECK-NEXT:    store i32 0, ptr [[TMP93]], align 4
207 ; CHECK-NEXT:    ret i32 0
208 ; CHECK:       94:
209 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP95:%.*]], label [[TMP97:%.*]]
210 ; CHECK:       95:
211 ; CHECK-NEXT:    [[TMP96:%.*]] = load ptr, ptr [[TMP0]], align 8
212 ; CHECK-NEXT:    store i32 0, ptr [[TMP96]], align 4
213 ; CHECK-NEXT:    ret i32 0
214 ; CHECK:       97:
215 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP98:%.*]], label [[TMP100:%.*]]
216 ; CHECK:       98:
217 ; CHECK-NEXT:    [[TMP99:%.*]] = load ptr, ptr [[TMP0]], align 8
218 ; CHECK-NEXT:    store i32 0, ptr [[TMP99]], align 4
219 ; CHECK-NEXT:    ret i32 0
220 ; CHECK:       100:
221 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP101:%.*]], label [[TMP103:%.*]]
222 ; CHECK:       101:
223 ; CHECK-NEXT:    [[TMP102:%.*]] = load ptr, ptr [[TMP0]], align 8
224 ; CHECK-NEXT:    store i32 0, ptr [[TMP102]], align 8
225 ; CHECK-NEXT:    ret i32 0
226 ; CHECK:       103:
227 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP104:%.*]], label [[TMP106:%.*]]
228 ; CHECK:       104:
229 ; CHECK-NEXT:    [[TMP105:%.*]] = load ptr, ptr [[TMP0]], align 8
230 ; CHECK-NEXT:    store i32 0, ptr [[TMP105]], align 4
231 ; CHECK-NEXT:    ret i32 0
232 ; CHECK:       106:
233 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP107:%.*]], label [[TMP109:%.*]]
234 ; CHECK:       107:
235 ; CHECK-NEXT:    [[TMP108:%.*]] = load ptr, ptr [[TMP0]], align 8
236 ; CHECK-NEXT:    store i32 0, ptr [[TMP108]], align 4
237 ; CHECK-NEXT:    ret i32 0
238 ; CHECK:       109:
239 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP110:%.*]], label [[TMP112:%.*]]
240 ; CHECK:       110:
241 ; CHECK-NEXT:    [[TMP111:%.*]] = load ptr, ptr [[TMP0]], align 8
242 ; CHECK-NEXT:    store i32 0, ptr [[TMP111]], align 4
243 ; CHECK-NEXT:    ret i32 0
244 ; CHECK:       112:
245 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP113:%.*]], label [[TMP115:%.*]]
246 ; CHECK:       113:
247 ; CHECK-NEXT:    [[TMP114:%.*]] = load ptr, ptr [[TMP0]], align 8
248 ; CHECK-NEXT:    store i64 0, ptr [[TMP114]], align 8
249 ; CHECK-NEXT:    ret i32 0
250 ; CHECK:       115:
251 ; CHECK-NEXT:    br i1 [[TMP1]], label [[TMP116:%.*]], label [[TMP118:%.*]]
252 ; CHECK:       116:
253 ; CHECK-NEXT:    [[TMP117:%.*]] = load ptr, ptr [[TMP0]], align 8
254 ; CHECK-NEXT:    store i64 0, ptr [[TMP117]], align 8
255 ; CHECK-NEXT:    ret i32 0
256 ; CHECK:       118:
257 ; CHECK-NEXT:    [[TMP119:%.*]] = load ptr, ptr [[TMP0]], align 8
258 ; CHECK-NEXT:    store i32 0, ptr [[TMP119]], align 4
259 ; CHECK-NEXT:    ret i32 0
261   br i1 %1, label %3, label %88
263 3:                                                ; preds = %2
264   %4 = load ptr, ptr %0, align 8
265   br i1 %1, label %5, label %7
267 5:                                                ; preds = %3
268   %6 = load ptr, ptr %0, align 8
269   store i64 0, ptr %6, align 8
270   br label %79
272 7:                                                ; preds = %3
273   br i1 %1, label %8, label %11
275 8:                                                ; preds = %7
276   %9 = load i32, ptr %4, align 4
277   %10 = load ptr, ptr %0, align 8
278   store i32 0, ptr %10, align 4
279   br label %79
281 11:                                               ; preds = %7
282   br i1 %1, label %12, label %14
284 12:                                               ; preds = %11
285   %13 = load ptr, ptr %0, align 8
286   store i32 0, ptr %13, align 4
287   br label %79
289 14:                                               ; preds = %11
290   br i1 %1, label %15, label %17
292 15:                                               ; preds = %14
293   %16 = load ptr, ptr %0, align 8
294   store i32 0, ptr %16, align 4
295   br label %79
297 17:                                               ; preds = %14
298   br i1 %1, label %18, label %20
300 18:                                               ; preds = %17
301   %19 = load ptr, ptr %0, align 8
302   store i32 0, ptr %19, align 4
303   br label %79
305 20:                                               ; preds = %17
306   br i1 %1, label %21, label %23
308 21:                                               ; preds = %20
309   %22 = load ptr, ptr %0, align 8
310   store i32 0, ptr %22, align 4
311   br label %79
313 23:                                               ; preds = %20
314   br i1 %1, label %24, label %26
316 24:                                               ; preds = %23
317   %25 = load ptr, ptr %0, align 8
318   store i32 0, ptr %25, align 4
319   br label %79
321 26:                                               ; preds = %23
322   br i1 %1, label %27, label %29
324 27:                                               ; preds = %26
325   %28 = load ptr, ptr %0, align 8
326   store i32 0, ptr %28, align 8
327   br label %79
329 29:                                               ; preds = %26
330   br i1 %1, label %30, label %32
332 30:                                               ; preds = %29
333   %31 = load ptr, ptr %0, align 8
334   store i32 0, ptr %31, align 4
335   br label %79
337 32:                                               ; preds = %29
338   br i1 %1, label %33, label %35
340 33:                                               ; preds = %32
341   %34 = load ptr, ptr %0, align 8
342   store i32 0, ptr %34, align 4
343   br label %79
345 35:                                               ; preds = %32
346   br i1 %1, label %36, label %38
348 36:                                               ; preds = %35
349   %37 = load ptr, ptr %0, align 8
350   store i32 0, ptr %37, align 4
351   br label %79
353 38:                                               ; preds = %35
354   br i1 %1, label %39, label %41
356 39:                                               ; preds = %38
357   %40 = load ptr, ptr %0, align 8
358   store i64 0, ptr %40, align 8
359   br label %79
361 41:                                               ; preds = %38
362   br i1 %1, label %42, label %44
364 42:                                               ; preds = %41
365   %43 = load ptr, ptr %0, align 8
366   store i64 0, ptr %43, align 8
367   br label %79
369 44:                                               ; preds = %41
370   br i1 %1, label %45, label %47
372 45:                                               ; preds = %44
373   %46 = load ptr, ptr %0, align 8
374   store i32 0, ptr %46, align 4
375   br label %79
377 47:                                               ; preds = %44
378   br i1 %1, label %48, label %50
380 48:                                               ; preds = %47
381   %49 = load ptr, ptr %0, align 8
382   store i32 0, ptr %49, align 4
383   br label %79
385 50:                                               ; preds = %47
386   br i1 %1, label %51, label %53
388 51:                                               ; preds = %50
389   %52 = load ptr, ptr %0, align 8
390   store i64 0, ptr %52, align 8
391   br label %79
393 53:                                               ; preds = %50
394   br i1 %1, label %54, label %56
396 54:                                               ; preds = %53
397   %55 = load ptr, ptr %0, align 8
398   store i64 0, ptr %55, align 8
399   br label %79
401 56:                                               ; preds = %53
402   br i1 %1, label %57, label %59
404 57:                                               ; preds = %56
405   %58 = load ptr, ptr %0, align 8
406   store i32 0, ptr %58, align 4
407   br label %79
409 59:                                               ; preds = %56
410   br i1 %1, label %60, label %62
412 60:                                               ; preds = %59
413   %61 = load ptr, ptr %0, align 8
414   store i32 0, ptr %61, align 4
415   br label %79
417 62:                                               ; preds = %59
418   br i1 %1, label %63, label %65
420 63:                                               ; preds = %62
421   %64 = load ptr, ptr %0, align 8
422   store i64 0, ptr %64, align 8
423   br label %79
425 65:                                               ; preds = %62
426   br i1 %1, label %66, label %68
428 66:                                               ; preds = %65
429   %67 = load ptr, ptr %0, align 8
430   store i64 0, ptr %67, align 8
431   br label %79
433 68:                                               ; preds = %65
434   br i1 %1, label %69, label %71
436 69:                                               ; preds = %68
437   %70 = load ptr, ptr %0, align 8
438   store i32 0, ptr %70, align 4
439   br label %79
441 71:                                               ; preds = %68
442   br i1 %1, label %72, label %74
444 72:                                               ; preds = %71
445   %73 = load ptr, ptr %0, align 8
446   store i32 0, ptr %73, align 4
447   br label %79
449 74:                                               ; preds = %71
450   br i1 %1, label %75, label %77
452 75:                                               ; preds = %74
453   %76 = load ptr, ptr %0, align 8
454   store i32 0, ptr %76, align 4
455   br label %79
457 77:                                               ; preds = %74
458   %78 = load ptr, ptr %0, align 8
459   store i32 0, ptr %78, align 4
460   br label %79
462 79:                                               ; preds = %77, %75, %72, %69, %66, %63, %60, %57, %54, %51, %48, %45, %42, %39, %36, %33, %30, %27, %24, %21, %18, %15, %12, %8, %5
463   %80 = load ptr, ptr %0, align 8
464   %81 = load i32, ptr %80, align 4
465   %82 = load ptr, ptr %0, align 8
466   store i32 0, ptr %82, align 4
467   %83 = load ptr, ptr %0, align 8
468   %84 = getelementptr i8, ptr %83, i64 4
469   %85 = load ptr, ptr %0, align 8
470   %86 = getelementptr i8, ptr %85, i64 4
471   %87 = load ptr, ptr %0, align 8
472   br i1 %1, label %91, label %93
474 88:                                               ; preds = %2
475   %89 = load ptr, ptr %0, align 8
476   %90 = load i64, ptr %89, align 8
477   ret i32 0
479 91:                                               ; preds = %79
480   %92 = load ptr, ptr %0, align 8
481   store i64 0, ptr %92, align 8
482   ret i32 0
484 93:                                               ; preds = %79
485   br i1 %1, label %94, label %96
487 94:                                               ; preds = %93
488   %95 = load ptr, ptr %0, align 8
489   store i32 0, ptr %95, align 4
490   ret i32 0
492 96:                                               ; preds = %93
493   br i1 %1, label %97, label %99
495 97:                                               ; preds = %96
496   %98 = load ptr, ptr %0, align 8
497   store i32 0, ptr %98, align 4
498   ret i32 0
500 99:                                               ; preds = %96
501   br i1 %1, label %100, label %102
503 100:                                              ; preds = %99
504   %101 = load ptr, ptr %0, align 8
505   store i32 0, ptr %101, align 4
506   ret i32 0
508 102:                                              ; preds = %99
509   br i1 %1, label %103, label %105
511 103:                                              ; preds = %102
512   %104 = load ptr, ptr %0, align 8
513   store i32 0, ptr %104, align 4
514   ret i32 0
516 105:                                              ; preds = %102
517   br i1 %1, label %106, label %108
519 106:                                              ; preds = %105
520   %107 = load ptr, ptr %0, align 8
521   store i32 0, ptr %107, align 4
522   ret i32 0
524 108:                                              ; preds = %105
525   br i1 %1, label %109, label %111
527 109:                                              ; preds = %108
528   %110 = load ptr, ptr %0, align 8
529   store i32 0, ptr %110, align 4
530   ret i32 0
532 111:                                              ; preds = %108
533   br i1 %1, label %112, label %114
535 112:                                              ; preds = %111
536   %113 = load ptr, ptr %0, align 8
537   store i32 0, ptr %113, align 8
538   ret i32 0
540 114:                                              ; preds = %111
541   br i1 %1, label %115, label %117
543 115:                                              ; preds = %114
544   %116 = load ptr, ptr %0, align 8
545   store i32 0, ptr %116, align 4
546   ret i32 0
548 117:                                              ; preds = %114
549   br i1 %1, label %118, label %121
551 118:                                              ; preds = %117
552   %119 = load i32, ptr %87, align 4
553   %120 = load ptr, ptr %0, align 8
554   store i32 0, ptr %120, align 4
555   ret i32 0
557 121:                                              ; preds = %117
558   br i1 %1, label %122, label %124
560 122:                                              ; preds = %121
561   %123 = load ptr, ptr %0, align 8
562   store i32 0, ptr %123, align 4
563   ret i32 0
565 124:                                              ; preds = %121
566   br i1 %1, label %125, label %127
568 125:                                              ; preds = %124
569   %126 = load ptr, ptr %0, align 8
570   store i64 0, ptr %126, align 8
571   ret i32 0
573 127:                                              ; preds = %124
574   br i1 %1, label %128, label %130
576 128:                                              ; preds = %127
577   %129 = load ptr, ptr %0, align 8
578   store i64 0, ptr %129, align 8
579   ret i32 0
581 130:                                              ; preds = %127
582   %131 = load ptr, ptr %0, align 8
583   store i32 0, ptr %131, align 4
584   ret i32 0
587 ; uselistorder directives
588 uselistorder i32 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 0 }