236
|
1 ; RUN: opt %loadPolly -disable-output -polly-print-scops -polly-ignore-aliasing \
|
150
|
2 ; RUN: < %s | FileCheck %s
|
|
3
|
|
4 ; CHECK: Assumed Context:
|
|
5 ; CHECK-NEXT: [n1_a, n1_b, n1_c, n1_d, n2_a, n2_b, n2_c, n2_d, n3_a, n3_b, n3_c, n3_d, n4_a, n4_b, n4_c, n4_d, n5_a, n5_b, n5_c, n5_d, n6_a, n6_b, n6_c, n6_d, n7_a, n7_b, n7_c, n7_d, n8_a, n8_b, n8_c, n8_d, n9_a, n9_b, n9_c, n9_d, p1_b, p1_c, p1_d, p2_b, p2_c, p2_d, p3_b, p3_c, p3_d, p4_b, p4_c, p4_d, p5_b, p5_c, p5_d, p6_b, p6_c, p6_d, p7_b, p7_c, p7_d, p8_b, p8_c, p8_d, p9_b, p9_c, p9_d] -> { : p1_b >= n1_b and p1_c >= n1_c and p1_d >= n1_d and p2_b >= n2_b and p2_c >= n2_c and p2_d >= n2_d and p3_b >= n3_b and p3_c >= n3_c and p3_d >= n3_d and p4_b >= n4_b and p4_c >= n4_c and p4_d >= n4_d and p5_b >= n5_b and p5_c >= n5_c and p5_d >= n5_d and p6_b >= n6_b and p6_c >= n6_c and p6_d >= n6_d and p7_b >= n7_b and p7_c >= n7_c and p7_d >= n7_d and p8_b >= n8_b and p8_c >= n8_c and p8_d >= n8_d and p9_b >= n9_b and p9_c >= n9_c and p9_d >= n9_d }
|
|
6 ; CHECK-NEXT: Invalid Context:
|
|
7 ; CHECK-NEXT: [n1_a, n1_b, n1_c, n1_d, n2_a, n2_b, n2_c, n2_d, n3_a, n3_b, n3_c, n3_d, n4_a, n4_b, n4_c, n4_d, n5_a, n5_b, n5_c, n5_d, n6_a, n6_b, n6_c, n6_d, n7_a, n7_b, n7_c, n7_d, n8_a, n8_b, n8_c, n8_d, n9_a, n9_b, n9_c, n9_d, p1_b, p1_c, p1_d, p2_b, p2_c, p2_d, p3_b, p3_c, p3_d, p4_b, p4_c, p4_d, p5_b, p5_c, p5_d, p6_b, p6_c, p6_d, p7_b, p7_c, p7_d, p8_b, p8_c, p8_d, p9_b, p9_c, p9_d] -> { : false }
|
|
8
|
|
9
|
|
10 ;
|
|
11 ; void foo(long n1_a, long n1_b, long n1_c, long n1_d, long n2_a, long n2_b,
|
|
12 ; long n2_c, long n2_d, long n3_a, long n3_b, long n3_c, long n3_d,
|
|
13 ; long n4_a, long n4_b, long n4_c, long n4_d, long n5_a, long n5_b,
|
|
14 ; long n5_c, long n5_d, long n6_a, long n6_b, long n6_c, long n6_d,
|
|
15 ; long n7_a, long n7_b, long n7_c, long n7_d, long n8_a, long n8_b,
|
|
16 ; long n8_c, long n8_d, long n9_a, long n9_b, long n9_c, long n9_d,
|
|
17 ; long p1_b, long p1_c, long p1_d, long p2_b, long p2_c, long p2_d,
|
|
18 ; long p3_b, long p3_c, long p3_d, long p4_b, long p4_c, long p4_d,
|
|
19 ; long p5_b, long p5_c, long p5_d, long p6_b, long p6_c, long p6_d,
|
|
20 ; long p7_b, long p7_c, long p7_d, long p8_b, long p8_c, long p8_d,
|
|
21 ; long p9_b, long p9_c, long p9_d, float A_1[][p1_b][p1_c][p1_d],
|
|
22 ; float A_2[][p2_b][p2_c][p2_d], float A_3[][p3_b][p3_c][p3_d],
|
|
23 ; float A_4[][p4_b][p4_c][p4_d], float A_5[][p5_b][p5_c][p5_d],
|
|
24 ; float A_6[][p6_b][p6_c][p6_d], float A_7[][p7_b][p7_c][p7_d],
|
|
25 ; float A_8[][p8_b][p8_c][p8_d], float A_9[][p9_b][p9_c][p9_d]) {
|
|
26 ; for (long i = 0; i < n1_a; i++)
|
|
27 ; for (long j = 0; j < n1_b; j++)
|
|
28 ; for (long k = 0; k < n1_c; k++)
|
|
29 ; for (long l = 0; l < n1_d; l++)
|
|
30 ; A_1[i][j][k][l] += i + j + k + l;
|
|
31 ; for (long i = 0; i < n2_a; i++)
|
|
32 ; for (long j = 0; j < n2_b; j++)
|
|
33 ; for (long k = 0; k < n2_c; k++)
|
|
34 ; for (long l = 0; l < n2_d; l++)
|
|
35 ; A_2[i][j][k][l] += i + j + k + l;
|
|
36 ; for (long i = 0; i < n3_a; i++)
|
|
37 ; for (long j = 0; j < n3_b; j++)
|
|
38 ; for (long k = 0; k < n3_c; k++)
|
|
39 ; for (long l = 0; l < n3_d; l++)
|
|
40 ; A_3[i][j][k][l] += i + j + k + l;
|
|
41 ; for (long i = 0; i < n4_a; i++)
|
|
42 ; for (long j = 0; j < n4_b; j++)
|
|
43 ; for (long k = 0; k < n4_c; k++)
|
|
44 ; for (long l = 0; l < n4_d; l++)
|
|
45 ; A_4[i][j][k][l] += i + j + k + l;
|
|
46 ; for (long i = 0; i < n5_a; i++)
|
|
47 ; for (long j = 0; j < n5_b; j++)
|
|
48 ; for (long k = 0; k < n5_c; k++)
|
|
49 ; for (long l = 0; l < n5_d; l++)
|
|
50 ; A_5[i][j][k][l] += i + j + k + l;
|
|
51 ; for (long i = 0; i < n6_a; i++)
|
|
52 ; for (long j = 0; j < n6_b; j++)
|
|
53 ; for (long k = 0; k < n6_c; k++)
|
|
54 ; for (long l = 0; l < n6_d; l++)
|
|
55 ; A_6[i][j][k][l] += i + j + k + l;
|
|
56 ; for (long i = 0; i < n7_a; i++)
|
|
57 ; for (long j = 0; j < n7_b; j++)
|
|
58 ; for (long k = 0; k < n7_c; k++)
|
|
59 ; for (long l = 0; l < n7_d; l++)
|
|
60 ; A_7[i][j][k][l] += i + j + k + l;
|
|
61 ; for (long i = 0; i < n8_a; i++)
|
|
62 ; for (long j = 0; j < n8_b; j++)
|
|
63 ; for (long k = 0; k < n8_c; k++)
|
|
64 ; for (long l = 0; l < n8_d; l++)
|
|
65 ; A_8[i][j][k][l] += i + j + k + l;
|
|
66 ; for (long i = 0; i < n9_a; i++)
|
|
67 ; for (long j = 0; j < n9_b; j++)
|
|
68 ; for (long k = 0; k < n9_c; k++)
|
|
69 ; for (long l = 0; l < n9_d; l++)
|
|
70 ; A_9[i][j][k][l] += i + j + k + l;
|
|
71 ; }
|
|
72 ;
|
|
73 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
|
74
|
252
|
75 define void @foo(i64 %n1_a, i64 %n1_b, i64 %n1_c, i64 %n1_d, i64 %n2_a, i64 %n2_b, i64 %n2_c, i64 %n2_d, i64 %n3_a, i64 %n3_b, i64 %n3_c, i64 %n3_d, i64 %n4_a, i64 %n4_b, i64 %n4_c, i64 %n4_d, i64 %n5_a, i64 %n5_b, i64 %n5_c, i64 %n5_d, i64 %n6_a, i64 %n6_b, i64 %n6_c, i64 %n6_d, i64 %n7_a, i64 %n7_b, i64 %n7_c, i64 %n7_d, i64 %n8_a, i64 %n8_b, i64 %n8_c, i64 %n8_d, i64 %n9_a, i64 %n9_b, i64 %n9_c, i64 %n9_d, i64 %p1_b, i64 %p1_c, i64 %p1_d, i64 %p2_b, i64 %p2_c, i64 %p2_d, i64 %p3_b, i64 %p3_c, i64 %p3_d, i64 %p4_b, i64 %p4_c, i64 %p4_d, i64 %p5_b, i64 %p5_c, i64 %p5_d, i64 %p6_b, i64 %p6_c, i64 %p6_d, i64 %p7_b, i64 %p7_c, i64 %p7_d, i64 %p8_b, i64 %p8_c, i64 %p8_d, i64 %p9_b, i64 %p9_c, i64 %p9_d, ptr %A_1, ptr %A_2, ptr %A_3, ptr %A_4, ptr %A_5, ptr %A_6, ptr %A_7, ptr %A_8, ptr %A_9) {
|
150
|
76 bb:
|
|
77 br label %bb1
|
|
78
|
|
79 bb1: ; preds = %bb37, %bb
|
|
80 %i.0 = phi i64 [ 0, %bb ], [ %tmp38, %bb37 ]
|
|
81 %tmp = icmp slt i64 %i.0, %n1_a
|
|
82 br i1 %tmp, label %bb2, label %bb39
|
|
83
|
|
84 bb2: ; preds = %bb1
|
|
85 br label %bb3
|
|
86
|
|
87 bb3: ; preds = %bb34, %bb2
|
|
88 %j.0 = phi i64 [ 0, %bb2 ], [ %tmp35, %bb34 ]
|
|
89 %tmp4 = icmp slt i64 %j.0, %n1_b
|
|
90 br i1 %tmp4, label %bb5, label %bb36
|
|
91
|
|
92 bb5: ; preds = %bb3
|
|
93 br label %bb6
|
|
94
|
|
95 bb6: ; preds = %bb31, %bb5
|
|
96 %k.0 = phi i64 [ 0, %bb5 ], [ %tmp32, %bb31 ]
|
|
97 %tmp7 = icmp slt i64 %k.0, %n1_c
|
|
98 br i1 %tmp7, label %bb8, label %bb33
|
|
99
|
|
100 bb8: ; preds = %bb6
|
|
101 br label %bb9
|
|
102
|
|
103 bb9: ; preds = %bb28, %bb8
|
|
104 %l.0 = phi i64 [ 0, %bb8 ], [ %tmp29, %bb28 ]
|
|
105 %tmp10 = icmp slt i64 %l.0, %n1_d
|
|
106 br i1 %tmp10, label %bb11, label %bb30
|
|
107
|
|
108 bb11: ; preds = %bb9
|
|
109 %tmp12 = add nuw nsw i64 %i.0, %j.0
|
|
110 %tmp13 = add nsw i64 %tmp12, %k.0
|
|
111 %tmp14 = add nsw i64 %tmp13, %l.0
|
|
112 %tmp15 = sitofp i64 %tmp14 to float
|
|
113 %tmp16 = mul nuw i64 %p1_b, %p1_c
|
|
114 %tmp17 = mul nuw i64 %tmp16, %p1_d
|
|
115 %tmp18 = mul nsw i64 %i.0, %tmp17
|
252
|
116 %tmp19 = getelementptr inbounds float, ptr %A_1, i64 %tmp18
|
150
|
117 %tmp20 = mul nuw i64 %p1_c, %p1_d
|
|
118 %tmp21 = mul nsw i64 %j.0, %tmp20
|
252
|
119 %tmp22 = getelementptr inbounds float, ptr %tmp19, i64 %tmp21
|
150
|
120 %tmp23 = mul nsw i64 %k.0, %p1_d
|
252
|
121 %tmp24 = getelementptr inbounds float, ptr %tmp22, i64 %tmp23
|
|
122 %tmp25 = getelementptr inbounds float, ptr %tmp24, i64 %l.0
|
|
123 %tmp26 = load float, ptr %tmp25, align 4
|
150
|
124 %tmp27 = fadd float %tmp26, %tmp15
|
252
|
125 store float %tmp27, ptr %tmp25, align 4
|
150
|
126 br label %bb28
|
|
127
|
|
128 bb28: ; preds = %bb11
|
|
129 %tmp29 = add nuw nsw i64 %l.0, 1
|
|
130 br label %bb9
|
|
131
|
|
132 bb30: ; preds = %bb9
|
|
133 br label %bb31
|
|
134
|
|
135 bb31: ; preds = %bb30
|
|
136 %tmp32 = add nuw nsw i64 %k.0, 1
|
|
137 br label %bb6
|
|
138
|
|
139 bb33: ; preds = %bb6
|
|
140 br label %bb34
|
|
141
|
|
142 bb34: ; preds = %bb33
|
|
143 %tmp35 = add nuw nsw i64 %j.0, 1
|
|
144 br label %bb3
|
|
145
|
|
146 bb36: ; preds = %bb3
|
|
147 br label %bb37
|
|
148
|
|
149 bb37: ; preds = %bb36
|
|
150 %tmp38 = add nuw nsw i64 %i.0, 1
|
|
151 br label %bb1
|
|
152
|
|
153 bb39: ; preds = %bb1
|
|
154 br label %bb40
|
|
155
|
|
156 bb40: ; preds = %bb77, %bb39
|
|
157 %i1.0 = phi i64 [ 0, %bb39 ], [ %tmp78, %bb77 ]
|
|
158 %tmp41 = icmp slt i64 %i1.0, %n2_a
|
|
159 br i1 %tmp41, label %bb42, label %bb79
|
|
160
|
|
161 bb42: ; preds = %bb40
|
|
162 br label %bb43
|
|
163
|
|
164 bb43: ; preds = %bb74, %bb42
|
|
165 %j2.0 = phi i64 [ 0, %bb42 ], [ %tmp75, %bb74 ]
|
|
166 %tmp44 = icmp slt i64 %j2.0, %n2_b
|
|
167 br i1 %tmp44, label %bb45, label %bb76
|
|
168
|
|
169 bb45: ; preds = %bb43
|
|
170 br label %bb46
|
|
171
|
|
172 bb46: ; preds = %bb71, %bb45
|
|
173 %k3.0 = phi i64 [ 0, %bb45 ], [ %tmp72, %bb71 ]
|
|
174 %tmp47 = icmp slt i64 %k3.0, %n2_c
|
|
175 br i1 %tmp47, label %bb48, label %bb73
|
|
176
|
|
177 bb48: ; preds = %bb46
|
|
178 br label %bb49
|
|
179
|
|
180 bb49: ; preds = %bb68, %bb48
|
|
181 %l4.0 = phi i64 [ 0, %bb48 ], [ %tmp69, %bb68 ]
|
|
182 %tmp50 = icmp slt i64 %l4.0, %n2_d
|
|
183 br i1 %tmp50, label %bb51, label %bb70
|
|
184
|
|
185 bb51: ; preds = %bb49
|
|
186 %tmp52 = add nuw nsw i64 %i1.0, %j2.0
|
|
187 %tmp53 = add nsw i64 %tmp52, %k3.0
|
|
188 %tmp54 = add nsw i64 %tmp53, %l4.0
|
|
189 %tmp55 = sitofp i64 %tmp54 to float
|
|
190 %tmp56 = mul nuw i64 %p2_b, %p2_c
|
|
191 %tmp57 = mul nuw i64 %tmp56, %p2_d
|
|
192 %tmp58 = mul nsw i64 %i1.0, %tmp57
|
252
|
193 %tmp59 = getelementptr inbounds float, ptr %A_2, i64 %tmp58
|
150
|
194 %tmp60 = mul nuw i64 %p2_c, %p2_d
|
|
195 %tmp61 = mul nsw i64 %j2.0, %tmp60
|
252
|
196 %tmp62 = getelementptr inbounds float, ptr %tmp59, i64 %tmp61
|
150
|
197 %tmp63 = mul nsw i64 %k3.0, %p2_d
|
252
|
198 %tmp64 = getelementptr inbounds float, ptr %tmp62, i64 %tmp63
|
|
199 %tmp65 = getelementptr inbounds float, ptr %tmp64, i64 %l4.0
|
|
200 %tmp66 = load float, ptr %tmp65, align 4
|
150
|
201 %tmp67 = fadd float %tmp66, %tmp55
|
252
|
202 store float %tmp67, ptr %tmp65, align 4
|
150
|
203 br label %bb68
|
|
204
|
|
205 bb68: ; preds = %bb51
|
|
206 %tmp69 = add nuw nsw i64 %l4.0, 1
|
|
207 br label %bb49
|
|
208
|
|
209 bb70: ; preds = %bb49
|
|
210 br label %bb71
|
|
211
|
|
212 bb71: ; preds = %bb70
|
|
213 %tmp72 = add nuw nsw i64 %k3.0, 1
|
|
214 br label %bb46
|
|
215
|
|
216 bb73: ; preds = %bb46
|
|
217 br label %bb74
|
|
218
|
|
219 bb74: ; preds = %bb73
|
|
220 %tmp75 = add nuw nsw i64 %j2.0, 1
|
|
221 br label %bb43
|
|
222
|
|
223 bb76: ; preds = %bb43
|
|
224 br label %bb77
|
|
225
|
|
226 bb77: ; preds = %bb76
|
|
227 %tmp78 = add nuw nsw i64 %i1.0, 1
|
|
228 br label %bb40
|
|
229
|
|
230 bb79: ; preds = %bb40
|
|
231 br label %bb80
|
|
232
|
|
233 bb80: ; preds = %bb117, %bb79
|
|
234 %i5.0 = phi i64 [ 0, %bb79 ], [ %tmp118, %bb117 ]
|
|
235 %tmp81 = icmp slt i64 %i5.0, %n3_a
|
|
236 br i1 %tmp81, label %bb82, label %bb119
|
|
237
|
|
238 bb82: ; preds = %bb80
|
|
239 br label %bb83
|
|
240
|
|
241 bb83: ; preds = %bb114, %bb82
|
|
242 %j6.0 = phi i64 [ 0, %bb82 ], [ %tmp115, %bb114 ]
|
|
243 %tmp84 = icmp slt i64 %j6.0, %n3_b
|
|
244 br i1 %tmp84, label %bb85, label %bb116
|
|
245
|
|
246 bb85: ; preds = %bb83
|
|
247 br label %bb86
|
|
248
|
|
249 bb86: ; preds = %bb111, %bb85
|
|
250 %k7.0 = phi i64 [ 0, %bb85 ], [ %tmp112, %bb111 ]
|
|
251 %tmp87 = icmp slt i64 %k7.0, %n3_c
|
|
252 br i1 %tmp87, label %bb88, label %bb113
|
|
253
|
|
254 bb88: ; preds = %bb86
|
|
255 br label %bb89
|
|
256
|
|
257 bb89: ; preds = %bb108, %bb88
|
|
258 %l8.0 = phi i64 [ 0, %bb88 ], [ %tmp109, %bb108 ]
|
|
259 %tmp90 = icmp slt i64 %l8.0, %n3_d
|
|
260 br i1 %tmp90, label %bb91, label %bb110
|
|
261
|
|
262 bb91: ; preds = %bb89
|
|
263 %tmp92 = add nuw nsw i64 %i5.0, %j6.0
|
|
264 %tmp93 = add nsw i64 %tmp92, %k7.0
|
|
265 %tmp94 = add nsw i64 %tmp93, %l8.0
|
|
266 %tmp95 = sitofp i64 %tmp94 to float
|
|
267 %tmp96 = mul nuw i64 %p3_b, %p3_c
|
|
268 %tmp97 = mul nuw i64 %tmp96, %p3_d
|
|
269 %tmp98 = mul nsw i64 %i5.0, %tmp97
|
252
|
270 %tmp99 = getelementptr inbounds float, ptr %A_3, i64 %tmp98
|
150
|
271 %tmp100 = mul nuw i64 %p3_c, %p3_d
|
|
272 %tmp101 = mul nsw i64 %j6.0, %tmp100
|
252
|
273 %tmp102 = getelementptr inbounds float, ptr %tmp99, i64 %tmp101
|
150
|
274 %tmp103 = mul nsw i64 %k7.0, %p3_d
|
252
|
275 %tmp104 = getelementptr inbounds float, ptr %tmp102, i64 %tmp103
|
|
276 %tmp105 = getelementptr inbounds float, ptr %tmp104, i64 %l8.0
|
|
277 %tmp106 = load float, ptr %tmp105, align 4
|
150
|
278 %tmp107 = fadd float %tmp106, %tmp95
|
252
|
279 store float %tmp107, ptr %tmp105, align 4
|
150
|
280 br label %bb108
|
|
281
|
|
282 bb108: ; preds = %bb91
|
|
283 %tmp109 = add nuw nsw i64 %l8.0, 1
|
|
284 br label %bb89
|
|
285
|
|
286 bb110: ; preds = %bb89
|
|
287 br label %bb111
|
|
288
|
|
289 bb111: ; preds = %bb110
|
|
290 %tmp112 = add nuw nsw i64 %k7.0, 1
|
|
291 br label %bb86
|
|
292
|
|
293 bb113: ; preds = %bb86
|
|
294 br label %bb114
|
|
295
|
|
296 bb114: ; preds = %bb113
|
|
297 %tmp115 = add nuw nsw i64 %j6.0, 1
|
|
298 br label %bb83
|
|
299
|
|
300 bb116: ; preds = %bb83
|
|
301 br label %bb117
|
|
302
|
|
303 bb117: ; preds = %bb116
|
|
304 %tmp118 = add nuw nsw i64 %i5.0, 1
|
|
305 br label %bb80
|
|
306
|
|
307 bb119: ; preds = %bb80
|
|
308 br label %bb120
|
|
309
|
|
310 bb120: ; preds = %bb157, %bb119
|
|
311 %i9.0 = phi i64 [ 0, %bb119 ], [ %tmp158, %bb157 ]
|
|
312 %tmp121 = icmp slt i64 %i9.0, %n4_a
|
|
313 br i1 %tmp121, label %bb122, label %bb159
|
|
314
|
|
315 bb122: ; preds = %bb120
|
|
316 br label %bb123
|
|
317
|
|
318 bb123: ; preds = %bb154, %bb122
|
|
319 %j10.0 = phi i64 [ 0, %bb122 ], [ %tmp155, %bb154 ]
|
|
320 %tmp124 = icmp slt i64 %j10.0, %n4_b
|
|
321 br i1 %tmp124, label %bb125, label %bb156
|
|
322
|
|
323 bb125: ; preds = %bb123
|
|
324 br label %bb126
|
|
325
|
|
326 bb126: ; preds = %bb151, %bb125
|
|
327 %k11.0 = phi i64 [ 0, %bb125 ], [ %tmp152, %bb151 ]
|
|
328 %tmp127 = icmp slt i64 %k11.0, %n4_c
|
|
329 br i1 %tmp127, label %bb128, label %bb153
|
|
330
|
|
331 bb128: ; preds = %bb126
|
|
332 br label %bb129
|
|
333
|
|
334 bb129: ; preds = %bb148, %bb128
|
|
335 %l12.0 = phi i64 [ 0, %bb128 ], [ %tmp149, %bb148 ]
|
|
336 %tmp130 = icmp slt i64 %l12.0, %n4_d
|
|
337 br i1 %tmp130, label %bb131, label %bb150
|
|
338
|
|
339 bb131: ; preds = %bb129
|
|
340 %tmp132 = add nuw nsw i64 %i9.0, %j10.0
|
|
341 %tmp133 = add nsw i64 %tmp132, %k11.0
|
|
342 %tmp134 = add nsw i64 %tmp133, %l12.0
|
|
343 %tmp135 = sitofp i64 %tmp134 to float
|
|
344 %tmp136 = mul nuw i64 %p4_b, %p4_c
|
|
345 %tmp137 = mul nuw i64 %tmp136, %p4_d
|
|
346 %tmp138 = mul nsw i64 %i9.0, %tmp137
|
252
|
347 %tmp139 = getelementptr inbounds float, ptr %A_4, i64 %tmp138
|
150
|
348 %tmp140 = mul nuw i64 %p4_c, %p4_d
|
|
349 %tmp141 = mul nsw i64 %j10.0, %tmp140
|
252
|
350 %tmp142 = getelementptr inbounds float, ptr %tmp139, i64 %tmp141
|
150
|
351 %tmp143 = mul nsw i64 %k11.0, %p4_d
|
252
|
352 %tmp144 = getelementptr inbounds float, ptr %tmp142, i64 %tmp143
|
|
353 %tmp145 = getelementptr inbounds float, ptr %tmp144, i64 %l12.0
|
|
354 %tmp146 = load float, ptr %tmp145, align 4
|
150
|
355 %tmp147 = fadd float %tmp146, %tmp135
|
252
|
356 store float %tmp147, ptr %tmp145, align 4
|
150
|
357 br label %bb148
|
|
358
|
|
359 bb148: ; preds = %bb131
|
|
360 %tmp149 = add nuw nsw i64 %l12.0, 1
|
|
361 br label %bb129
|
|
362
|
|
363 bb150: ; preds = %bb129
|
|
364 br label %bb151
|
|
365
|
|
366 bb151: ; preds = %bb150
|
|
367 %tmp152 = add nuw nsw i64 %k11.0, 1
|
|
368 br label %bb126
|
|
369
|
|
370 bb153: ; preds = %bb126
|
|
371 br label %bb154
|
|
372
|
|
373 bb154: ; preds = %bb153
|
|
374 %tmp155 = add nuw nsw i64 %j10.0, 1
|
|
375 br label %bb123
|
|
376
|
|
377 bb156: ; preds = %bb123
|
|
378 br label %bb157
|
|
379
|
|
380 bb157: ; preds = %bb156
|
|
381 %tmp158 = add nuw nsw i64 %i9.0, 1
|
|
382 br label %bb120
|
|
383
|
|
384 bb159: ; preds = %bb120
|
|
385 br label %bb160
|
|
386
|
|
387 bb160: ; preds = %bb197, %bb159
|
|
388 %i13.0 = phi i64 [ 0, %bb159 ], [ %tmp198, %bb197 ]
|
|
389 %tmp161 = icmp slt i64 %i13.0, %n5_a
|
|
390 br i1 %tmp161, label %bb162, label %bb199
|
|
391
|
|
392 bb162: ; preds = %bb160
|
|
393 br label %bb163
|
|
394
|
|
395 bb163: ; preds = %bb194, %bb162
|
|
396 %j14.0 = phi i64 [ 0, %bb162 ], [ %tmp195, %bb194 ]
|
|
397 %tmp164 = icmp slt i64 %j14.0, %n5_b
|
|
398 br i1 %tmp164, label %bb165, label %bb196
|
|
399
|
|
400 bb165: ; preds = %bb163
|
|
401 br label %bb166
|
|
402
|
|
403 bb166: ; preds = %bb191, %bb165
|
|
404 %k15.0 = phi i64 [ 0, %bb165 ], [ %tmp192, %bb191 ]
|
|
405 %tmp167 = icmp slt i64 %k15.0, %n5_c
|
|
406 br i1 %tmp167, label %bb168, label %bb193
|
|
407
|
|
408 bb168: ; preds = %bb166
|
|
409 br label %bb169
|
|
410
|
|
411 bb169: ; preds = %bb188, %bb168
|
|
412 %l16.0 = phi i64 [ 0, %bb168 ], [ %tmp189, %bb188 ]
|
|
413 %tmp170 = icmp slt i64 %l16.0, %n5_d
|
|
414 br i1 %tmp170, label %bb171, label %bb190
|
|
415
|
|
416 bb171: ; preds = %bb169
|
|
417 %tmp172 = add nuw nsw i64 %i13.0, %j14.0
|
|
418 %tmp173 = add nsw i64 %tmp172, %k15.0
|
|
419 %tmp174 = add nsw i64 %tmp173, %l16.0
|
|
420 %tmp175 = sitofp i64 %tmp174 to float
|
|
421 %tmp176 = mul nuw i64 %p5_b, %p5_c
|
|
422 %tmp177 = mul nuw i64 %tmp176, %p5_d
|
|
423 %tmp178 = mul nsw i64 %i13.0, %tmp177
|
252
|
424 %tmp179 = getelementptr inbounds float, ptr %A_5, i64 %tmp178
|
150
|
425 %tmp180 = mul nuw i64 %p5_c, %p5_d
|
|
426 %tmp181 = mul nsw i64 %j14.0, %tmp180
|
252
|
427 %tmp182 = getelementptr inbounds float, ptr %tmp179, i64 %tmp181
|
150
|
428 %tmp183 = mul nsw i64 %k15.0, %p5_d
|
252
|
429 %tmp184 = getelementptr inbounds float, ptr %tmp182, i64 %tmp183
|
|
430 %tmp185 = getelementptr inbounds float, ptr %tmp184, i64 %l16.0
|
|
431 %tmp186 = load float, ptr %tmp185, align 4
|
150
|
432 %tmp187 = fadd float %tmp186, %tmp175
|
252
|
433 store float %tmp187, ptr %tmp185, align 4
|
150
|
434 br label %bb188
|
|
435
|
|
436 bb188: ; preds = %bb171
|
|
437 %tmp189 = add nuw nsw i64 %l16.0, 1
|
|
438 br label %bb169
|
|
439
|
|
440 bb190: ; preds = %bb169
|
|
441 br label %bb191
|
|
442
|
|
443 bb191: ; preds = %bb190
|
|
444 %tmp192 = add nuw nsw i64 %k15.0, 1
|
|
445 br label %bb166
|
|
446
|
|
447 bb193: ; preds = %bb166
|
|
448 br label %bb194
|
|
449
|
|
450 bb194: ; preds = %bb193
|
|
451 %tmp195 = add nuw nsw i64 %j14.0, 1
|
|
452 br label %bb163
|
|
453
|
|
454 bb196: ; preds = %bb163
|
|
455 br label %bb197
|
|
456
|
|
457 bb197: ; preds = %bb196
|
|
458 %tmp198 = add nuw nsw i64 %i13.0, 1
|
|
459 br label %bb160
|
|
460
|
|
461 bb199: ; preds = %bb160
|
|
462 br label %bb200
|
|
463
|
|
464 bb200: ; preds = %bb237, %bb199
|
|
465 %i17.0 = phi i64 [ 0, %bb199 ], [ %tmp238, %bb237 ]
|
|
466 %tmp201 = icmp slt i64 %i17.0, %n6_a
|
|
467 br i1 %tmp201, label %bb202, label %bb239
|
|
468
|
|
469 bb202: ; preds = %bb200
|
|
470 br label %bb203
|
|
471
|
|
472 bb203: ; preds = %bb234, %bb202
|
|
473 %j18.0 = phi i64 [ 0, %bb202 ], [ %tmp235, %bb234 ]
|
|
474 %tmp204 = icmp slt i64 %j18.0, %n6_b
|
|
475 br i1 %tmp204, label %bb205, label %bb236
|
|
476
|
|
477 bb205: ; preds = %bb203
|
|
478 br label %bb206
|
|
479
|
|
480 bb206: ; preds = %bb231, %bb205
|
|
481 %k19.0 = phi i64 [ 0, %bb205 ], [ %tmp232, %bb231 ]
|
|
482 %tmp207 = icmp slt i64 %k19.0, %n6_c
|
|
483 br i1 %tmp207, label %bb208, label %bb233
|
|
484
|
|
485 bb208: ; preds = %bb206
|
|
486 br label %bb209
|
|
487
|
|
488 bb209: ; preds = %bb228, %bb208
|
|
489 %l20.0 = phi i64 [ 0, %bb208 ], [ %tmp229, %bb228 ]
|
|
490 %tmp210 = icmp slt i64 %l20.0, %n6_d
|
|
491 br i1 %tmp210, label %bb211, label %bb230
|
|
492
|
|
493 bb211: ; preds = %bb209
|
|
494 %tmp212 = add nuw nsw i64 %i17.0, %j18.0
|
|
495 %tmp213 = add nsw i64 %tmp212, %k19.0
|
|
496 %tmp214 = add nsw i64 %tmp213, %l20.0
|
|
497 %tmp215 = sitofp i64 %tmp214 to float
|
|
498 %tmp216 = mul nuw i64 %p6_b, %p6_c
|
|
499 %tmp217 = mul nuw i64 %tmp216, %p6_d
|
|
500 %tmp218 = mul nsw i64 %i17.0, %tmp217
|
252
|
501 %tmp219 = getelementptr inbounds float, ptr %A_6, i64 %tmp218
|
150
|
502 %tmp220 = mul nuw i64 %p6_c, %p6_d
|
|
503 %tmp221 = mul nsw i64 %j18.0, %tmp220
|
252
|
504 %tmp222 = getelementptr inbounds float, ptr %tmp219, i64 %tmp221
|
150
|
505 %tmp223 = mul nsw i64 %k19.0, %p6_d
|
252
|
506 %tmp224 = getelementptr inbounds float, ptr %tmp222, i64 %tmp223
|
|
507 %tmp225 = getelementptr inbounds float, ptr %tmp224, i64 %l20.0
|
|
508 %tmp226 = load float, ptr %tmp225, align 4
|
150
|
509 %tmp227 = fadd float %tmp226, %tmp215
|
252
|
510 store float %tmp227, ptr %tmp225, align 4
|
150
|
511 br label %bb228
|
|
512
|
|
513 bb228: ; preds = %bb211
|
|
514 %tmp229 = add nuw nsw i64 %l20.0, 1
|
|
515 br label %bb209
|
|
516
|
|
517 bb230: ; preds = %bb209
|
|
518 br label %bb231
|
|
519
|
|
520 bb231: ; preds = %bb230
|
|
521 %tmp232 = add nuw nsw i64 %k19.0, 1
|
|
522 br label %bb206
|
|
523
|
|
524 bb233: ; preds = %bb206
|
|
525 br label %bb234
|
|
526
|
|
527 bb234: ; preds = %bb233
|
|
528 %tmp235 = add nuw nsw i64 %j18.0, 1
|
|
529 br label %bb203
|
|
530
|
|
531 bb236: ; preds = %bb203
|
|
532 br label %bb237
|
|
533
|
|
534 bb237: ; preds = %bb236
|
|
535 %tmp238 = add nuw nsw i64 %i17.0, 1
|
|
536 br label %bb200
|
|
537
|
|
538 bb239: ; preds = %bb200
|
|
539 br label %bb240
|
|
540
|
|
541 bb240: ; preds = %bb277, %bb239
|
|
542 %i21.0 = phi i64 [ 0, %bb239 ], [ %tmp278, %bb277 ]
|
|
543 %tmp241 = icmp slt i64 %i21.0, %n7_a
|
|
544 br i1 %tmp241, label %bb242, label %bb279
|
|
545
|
|
546 bb242: ; preds = %bb240
|
|
547 br label %bb243
|
|
548
|
|
549 bb243: ; preds = %bb274, %bb242
|
|
550 %j22.0 = phi i64 [ 0, %bb242 ], [ %tmp275, %bb274 ]
|
|
551 %tmp244 = icmp slt i64 %j22.0, %n7_b
|
|
552 br i1 %tmp244, label %bb245, label %bb276
|
|
553
|
|
554 bb245: ; preds = %bb243
|
|
555 br label %bb246
|
|
556
|
|
557 bb246: ; preds = %bb271, %bb245
|
|
558 %k23.0 = phi i64 [ 0, %bb245 ], [ %tmp272, %bb271 ]
|
|
559 %tmp247 = icmp slt i64 %k23.0, %n7_c
|
|
560 br i1 %tmp247, label %bb248, label %bb273
|
|
561
|
|
562 bb248: ; preds = %bb246
|
|
563 br label %bb249
|
|
564
|
|
565 bb249: ; preds = %bb268, %bb248
|
|
566 %l24.0 = phi i64 [ 0, %bb248 ], [ %tmp269, %bb268 ]
|
|
567 %tmp250 = icmp slt i64 %l24.0, %n7_d
|
|
568 br i1 %tmp250, label %bb251, label %bb270
|
|
569
|
|
570 bb251: ; preds = %bb249
|
|
571 %tmp252 = add nuw nsw i64 %i21.0, %j22.0
|
|
572 %tmp253 = add nsw i64 %tmp252, %k23.0
|
|
573 %tmp254 = add nsw i64 %tmp253, %l24.0
|
|
574 %tmp255 = sitofp i64 %tmp254 to float
|
|
575 %tmp256 = mul nuw i64 %p7_b, %p7_c
|
|
576 %tmp257 = mul nuw i64 %tmp256, %p7_d
|
|
577 %tmp258 = mul nsw i64 %i21.0, %tmp257
|
252
|
578 %tmp259 = getelementptr inbounds float, ptr %A_7, i64 %tmp258
|
150
|
579 %tmp260 = mul nuw i64 %p7_c, %p7_d
|
|
580 %tmp261 = mul nsw i64 %j22.0, %tmp260
|
252
|
581 %tmp262 = getelementptr inbounds float, ptr %tmp259, i64 %tmp261
|
150
|
582 %tmp263 = mul nsw i64 %k23.0, %p7_d
|
252
|
583 %tmp264 = getelementptr inbounds float, ptr %tmp262, i64 %tmp263
|
|
584 %tmp265 = getelementptr inbounds float, ptr %tmp264, i64 %l24.0
|
|
585 %tmp266 = load float, ptr %tmp265, align 4
|
150
|
586 %tmp267 = fadd float %tmp266, %tmp255
|
252
|
587 store float %tmp267, ptr %tmp265, align 4
|
150
|
588 br label %bb268
|
|
589
|
|
590 bb268: ; preds = %bb251
|
|
591 %tmp269 = add nuw nsw i64 %l24.0, 1
|
|
592 br label %bb249
|
|
593
|
|
594 bb270: ; preds = %bb249
|
|
595 br label %bb271
|
|
596
|
|
597 bb271: ; preds = %bb270
|
|
598 %tmp272 = add nuw nsw i64 %k23.0, 1
|
|
599 br label %bb246
|
|
600
|
|
601 bb273: ; preds = %bb246
|
|
602 br label %bb274
|
|
603
|
|
604 bb274: ; preds = %bb273
|
|
605 %tmp275 = add nuw nsw i64 %j22.0, 1
|
|
606 br label %bb243
|
|
607
|
|
608 bb276: ; preds = %bb243
|
|
609 br label %bb277
|
|
610
|
|
611 bb277: ; preds = %bb276
|
|
612 %tmp278 = add nuw nsw i64 %i21.0, 1
|
|
613 br label %bb240
|
|
614
|
|
615 bb279: ; preds = %bb240
|
|
616 br label %bb280
|
|
617
|
|
618 bb280: ; preds = %bb317, %bb279
|
|
619 %i25.0 = phi i64 [ 0, %bb279 ], [ %tmp318, %bb317 ]
|
|
620 %tmp281 = icmp slt i64 %i25.0, %n8_a
|
|
621 br i1 %tmp281, label %bb282, label %bb319
|
|
622
|
|
623 bb282: ; preds = %bb280
|
|
624 br label %bb283
|
|
625
|
|
626 bb283: ; preds = %bb314, %bb282
|
|
627 %j26.0 = phi i64 [ 0, %bb282 ], [ %tmp315, %bb314 ]
|
|
628 %tmp284 = icmp slt i64 %j26.0, %n8_b
|
|
629 br i1 %tmp284, label %bb285, label %bb316
|
|
630
|
|
631 bb285: ; preds = %bb283
|
|
632 br label %bb286
|
|
633
|
|
634 bb286: ; preds = %bb311, %bb285
|
|
635 %k27.0 = phi i64 [ 0, %bb285 ], [ %tmp312, %bb311 ]
|
|
636 %tmp287 = icmp slt i64 %k27.0, %n8_c
|
|
637 br i1 %tmp287, label %bb288, label %bb313
|
|
638
|
|
639 bb288: ; preds = %bb286
|
|
640 br label %bb289
|
|
641
|
|
642 bb289: ; preds = %bb308, %bb288
|
|
643 %l28.0 = phi i64 [ 0, %bb288 ], [ %tmp309, %bb308 ]
|
|
644 %tmp290 = icmp slt i64 %l28.0, %n8_d
|
|
645 br i1 %tmp290, label %bb291, label %bb310
|
|
646
|
|
647 bb291: ; preds = %bb289
|
|
648 %tmp292 = add nuw nsw i64 %i25.0, %j26.0
|
|
649 %tmp293 = add nsw i64 %tmp292, %k27.0
|
|
650 %tmp294 = add nsw i64 %tmp293, %l28.0
|
|
651 %tmp295 = sitofp i64 %tmp294 to float
|
|
652 %tmp296 = mul nuw i64 %p8_b, %p8_c
|
|
653 %tmp297 = mul nuw i64 %tmp296, %p8_d
|
|
654 %tmp298 = mul nsw i64 %i25.0, %tmp297
|
252
|
655 %tmp299 = getelementptr inbounds float, ptr %A_8, i64 %tmp298
|
150
|
656 %tmp300 = mul nuw i64 %p8_c, %p8_d
|
|
657 %tmp301 = mul nsw i64 %j26.0, %tmp300
|
252
|
658 %tmp302 = getelementptr inbounds float, ptr %tmp299, i64 %tmp301
|
150
|
659 %tmp303 = mul nsw i64 %k27.0, %p8_d
|
252
|
660 %tmp304 = getelementptr inbounds float, ptr %tmp302, i64 %tmp303
|
|
661 %tmp305 = getelementptr inbounds float, ptr %tmp304, i64 %l28.0
|
|
662 %tmp306 = load float, ptr %tmp305, align 4
|
150
|
663 %tmp307 = fadd float %tmp306, %tmp295
|
252
|
664 store float %tmp307, ptr %tmp305, align 4
|
150
|
665 br label %bb308
|
|
666
|
|
667 bb308: ; preds = %bb291
|
|
668 %tmp309 = add nuw nsw i64 %l28.0, 1
|
|
669 br label %bb289
|
|
670
|
|
671 bb310: ; preds = %bb289
|
|
672 br label %bb311
|
|
673
|
|
674 bb311: ; preds = %bb310
|
|
675 %tmp312 = add nuw nsw i64 %k27.0, 1
|
|
676 br label %bb286
|
|
677
|
|
678 bb313: ; preds = %bb286
|
|
679 br label %bb314
|
|
680
|
|
681 bb314: ; preds = %bb313
|
|
682 %tmp315 = add nuw nsw i64 %j26.0, 1
|
|
683 br label %bb283
|
|
684
|
|
685 bb316: ; preds = %bb283
|
|
686 br label %bb317
|
|
687
|
|
688 bb317: ; preds = %bb316
|
|
689 %tmp318 = add nuw nsw i64 %i25.0, 1
|
|
690 br label %bb280
|
|
691
|
|
692 bb319: ; preds = %bb280
|
|
693 br label %bb320
|
|
694
|
|
695 bb320: ; preds = %bb357, %bb319
|
|
696 %i29.0 = phi i64 [ 0, %bb319 ], [ %tmp358, %bb357 ]
|
|
697 %tmp321 = icmp slt i64 %i29.0, %n9_a
|
|
698 br i1 %tmp321, label %bb322, label %bb359
|
|
699
|
|
700 bb322: ; preds = %bb320
|
|
701 br label %bb323
|
|
702
|
|
703 bb323: ; preds = %bb354, %bb322
|
|
704 %j30.0 = phi i64 [ 0, %bb322 ], [ %tmp355, %bb354 ]
|
|
705 %tmp324 = icmp slt i64 %j30.0, %n9_b
|
|
706 br i1 %tmp324, label %bb325, label %bb356
|
|
707
|
|
708 bb325: ; preds = %bb323
|
|
709 br label %bb326
|
|
710
|
|
711 bb326: ; preds = %bb351, %bb325
|
|
712 %k31.0 = phi i64 [ 0, %bb325 ], [ %tmp352, %bb351 ]
|
|
713 %tmp327 = icmp slt i64 %k31.0, %n9_c
|
|
714 br i1 %tmp327, label %bb328, label %bb353
|
|
715
|
|
716 bb328: ; preds = %bb326
|
|
717 br label %bb329
|
|
718
|
|
719 bb329: ; preds = %bb348, %bb328
|
|
720 %l32.0 = phi i64 [ 0, %bb328 ], [ %tmp349, %bb348 ]
|
|
721 %tmp330 = icmp slt i64 %l32.0, %n9_d
|
|
722 br i1 %tmp330, label %bb331, label %bb350
|
|
723
|
|
724 bb331: ; preds = %bb329
|
|
725 %tmp332 = add nuw nsw i64 %i29.0, %j30.0
|
|
726 %tmp333 = add nsw i64 %tmp332, %k31.0
|
|
727 %tmp334 = add nsw i64 %tmp333, %l32.0
|
|
728 %tmp335 = sitofp i64 %tmp334 to float
|
|
729 %tmp336 = mul nuw i64 %p9_b, %p9_c
|
|
730 %tmp337 = mul nuw i64 %tmp336, %p9_d
|
|
731 %tmp338 = mul nsw i64 %i29.0, %tmp337
|
252
|
732 %tmp339 = getelementptr inbounds float, ptr %A_9, i64 %tmp338
|
150
|
733 %tmp340 = mul nuw i64 %p9_c, %p9_d
|
|
734 %tmp341 = mul nsw i64 %j30.0, %tmp340
|
252
|
735 %tmp342 = getelementptr inbounds float, ptr %tmp339, i64 %tmp341
|
150
|
736 %tmp343 = mul nsw i64 %k31.0, %p9_d
|
252
|
737 %tmp344 = getelementptr inbounds float, ptr %tmp342, i64 %tmp343
|
|
738 %tmp345 = getelementptr inbounds float, ptr %tmp344, i64 %l32.0
|
|
739 %tmp346 = load float, ptr %tmp345, align 4
|
150
|
740 %tmp347 = fadd float %tmp346, %tmp335
|
252
|
741 store float %tmp347, ptr %tmp345, align 4
|
150
|
742 br label %bb348
|
|
743
|
|
744 bb348: ; preds = %bb331
|
|
745 %tmp349 = add nuw nsw i64 %l32.0, 1
|
|
746 br label %bb329
|
|
747
|
|
748 bb350: ; preds = %bb329
|
|
749 br label %bb351
|
|
750
|
|
751 bb351: ; preds = %bb350
|
|
752 %tmp352 = add nuw nsw i64 %k31.0, 1
|
|
753 br label %bb326
|
|
754
|
|
755 bb353: ; preds = %bb326
|
|
756 br label %bb354
|
|
757
|
|
758 bb354: ; preds = %bb353
|
|
759 %tmp355 = add nuw nsw i64 %j30.0, 1
|
|
760 br label %bb323
|
|
761
|
|
762 bb356: ; preds = %bb323
|
|
763 br label %bb357
|
|
764
|
|
765 bb357: ; preds = %bb356
|
|
766 %tmp358 = add nuw nsw i64 %i29.0, 1
|
|
767 br label %bb320
|
|
768
|
|
769 bb359: ; preds = %bb320
|
|
770 ret void
|
|
771 }
|