comparison test/Analysis/DependenceAnalysis/ExactRDIV.ll @ 95:afa8332a0e37

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 95c75e76d11b
children
comparison
equal deleted inserted replaced
84:f3e34b893a5f 95:afa8332a0e37
24 for.body: ; preds = %entry, %for.body 24 for.body: ; preds = %entry, %for.body
25 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 25 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
26 %conv = trunc i64 %i.03 to i32 26 %conv = trunc i64 %i.03 to i32
27 %mul = shl nsw i64 %i.03, 2 27 %mul = shl nsw i64 %i.03, 2
28 %add = add nsw i64 %mul, 10 28 %add = add nsw i64 %mul, 10
29 %arrayidx = getelementptr inbounds i32* %A, i64 %add 29 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add
30 store i32 %conv, i32* %arrayidx, align 4 30 store i32 %conv, i32* %arrayidx, align 4
31 %inc = add nsw i64 %i.03, 1 31 %inc = add nsw i64 %i.03, 1
32 %exitcond5 = icmp ne i64 %inc, 10 32 %exitcond5 = icmp ne i64 %inc, 10
33 br i1 %exitcond5, label %for.body, label %for.body4.preheader 33 br i1 %exitcond5, label %for.body, label %for.body4.preheader
34 34
38 for.body4: ; preds = %for.body4.preheader, %for.body4 38 for.body4: ; preds = %for.body4.preheader, %for.body4
39 %j.02 = phi i64 [ %inc9, %for.body4 ], [ 0, %for.body4.preheader ] 39 %j.02 = phi i64 [ %inc9, %for.body4 ], [ 0, %for.body4.preheader ]
40 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 40 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
41 %mul5 = shl nsw i64 %j.02, 1 41 %mul5 = shl nsw i64 %j.02, 1
42 %add64 = or i64 %mul5, 1 42 %add64 = or i64 %mul5, 1
43 %arrayidx7 = getelementptr inbounds i32* %A, i64 %add64 43 %arrayidx7 = getelementptr inbounds i32, i32* %A, i64 %add64
44 %0 = load i32* %arrayidx7, align 4 44 %0 = load i32, i32* %arrayidx7, align 4
45 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 45 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
46 store i32 %0, i32* %B.addr.01, align 4 46 store i32 %0, i32* %B.addr.01, align 4
47 %inc9 = add nsw i64 %j.02, 1 47 %inc9 = add nsw i64 %j.02, 1
48 %exitcond = icmp ne i64 %inc9, 10 48 %exitcond = icmp ne i64 %inc9, 10
49 br i1 %exitcond, label %for.body4, label %for.end10 49 br i1 %exitcond, label %for.body4, label %for.end10
50 50
72 for.body: ; preds = %entry, %for.body 72 for.body: ; preds = %entry, %for.body
73 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 73 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
74 %conv = trunc i64 %i.03 to i32 74 %conv = trunc i64 %i.03 to i32
75 %mul = mul nsw i64 %i.03, 11 75 %mul = mul nsw i64 %i.03, 11
76 %sub = add nsw i64 %mul, -45 76 %sub = add nsw i64 %mul, -45
77 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 77 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
78 store i32 %conv, i32* %arrayidx, align 4 78 store i32 %conv, i32* %arrayidx, align 4
79 %inc = add nsw i64 %i.03, 1 79 %inc = add nsw i64 %i.03, 1
80 %exitcond4 = icmp ne i64 %inc, 5 80 %exitcond4 = icmp ne i64 %inc, 5
81 br i1 %exitcond4, label %for.body, label %for.body4.preheader 81 br i1 %exitcond4, label %for.body, label %for.body4.preheader
82 82
84 br label %for.body4 84 br label %for.body4
85 85
86 for.body4: ; preds = %for.body4.preheader, %for.body4 86 for.body4: ; preds = %for.body4.preheader, %for.body4
87 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 87 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
88 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 88 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
89 %arrayidx5 = getelementptr inbounds i32* %A, i64 %j.02 89 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02
90 %0 = load i32* %arrayidx5, align 4 90 %0 = load i32, i32* %arrayidx5, align 4
91 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 91 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
92 store i32 %0, i32* %B.addr.01, align 4 92 store i32 %0, i32* %B.addr.01, align 4
93 %inc7 = add nsw i64 %j.02, 1 93 %inc7 = add nsw i64 %j.02, 1
94 %exitcond = icmp ne i64 %inc7, 10 94 %exitcond = icmp ne i64 %inc7, 10
95 br i1 %exitcond, label %for.body4, label %for.end8 95 br i1 %exitcond, label %for.body4, label %for.end8
96 96
118 for.body: ; preds = %entry, %for.body 118 for.body: ; preds = %entry, %for.body
119 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 119 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
120 %conv = trunc i64 %i.03 to i32 120 %conv = trunc i64 %i.03 to i32
121 %mul = mul nsw i64 %i.03, 11 121 %mul = mul nsw i64 %i.03, 11
122 %sub = add nsw i64 %mul, -45 122 %sub = add nsw i64 %mul, -45
123 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 123 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
124 store i32 %conv, i32* %arrayidx, align 4 124 store i32 %conv, i32* %arrayidx, align 4
125 %inc = add nsw i64 %i.03, 1 125 %inc = add nsw i64 %i.03, 1
126 %exitcond4 = icmp ne i64 %inc, 6 126 %exitcond4 = icmp ne i64 %inc, 6
127 br i1 %exitcond4, label %for.body, label %for.body4.preheader 127 br i1 %exitcond4, label %for.body, label %for.body4.preheader
128 128
130 br label %for.body4 130 br label %for.body4
131 131
132 for.body4: ; preds = %for.body4.preheader, %for.body4 132 for.body4: ; preds = %for.body4.preheader, %for.body4
133 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 133 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
134 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 134 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
135 %arrayidx5 = getelementptr inbounds i32* %A, i64 %j.02 135 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02
136 %0 = load i32* %arrayidx5, align 4 136 %0 = load i32, i32* %arrayidx5, align 4
137 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 137 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
138 store i32 %0, i32* %B.addr.01, align 4 138 store i32 %0, i32* %B.addr.01, align 4
139 %inc7 = add nsw i64 %j.02, 1 139 %inc7 = add nsw i64 %j.02, 1
140 %exitcond = icmp ne i64 %inc7, 10 140 %exitcond = icmp ne i64 %inc7, 10
141 br i1 %exitcond, label %for.body4, label %for.end8 141 br i1 %exitcond, label %for.body4, label %for.end8
142 142
164 for.body: ; preds = %entry, %for.body 164 for.body: ; preds = %entry, %for.body
165 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 165 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
166 %conv = trunc i64 %i.03 to i32 166 %conv = trunc i64 %i.03 to i32
167 %mul = mul nsw i64 %i.03, 11 167 %mul = mul nsw i64 %i.03, 11
168 %sub = add nsw i64 %mul, -45 168 %sub = add nsw i64 %mul, -45
169 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 169 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
170 store i32 %conv, i32* %arrayidx, align 4 170 store i32 %conv, i32* %arrayidx, align 4
171 %inc = add nsw i64 %i.03, 1 171 %inc = add nsw i64 %i.03, 1
172 %exitcond4 = icmp ne i64 %inc, 5 172 %exitcond4 = icmp ne i64 %inc, 5
173 br i1 %exitcond4, label %for.body, label %for.body4.preheader 173 br i1 %exitcond4, label %for.body, label %for.body4.preheader
174 174
176 br label %for.body4 176 br label %for.body4
177 177
178 for.body4: ; preds = %for.body4.preheader, %for.body4 178 for.body4: ; preds = %for.body4.preheader, %for.body4
179 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 179 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
180 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 180 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
181 %arrayidx5 = getelementptr inbounds i32* %A, i64 %j.02 181 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02
182 %0 = load i32* %arrayidx5, align 4 182 %0 = load i32, i32* %arrayidx5, align 4
183 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 183 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
184 store i32 %0, i32* %B.addr.01, align 4 184 store i32 %0, i32* %B.addr.01, align 4
185 %inc7 = add nsw i64 %j.02, 1 185 %inc7 = add nsw i64 %j.02, 1
186 %exitcond = icmp ne i64 %inc7, 11 186 %exitcond = icmp ne i64 %inc7, 11
187 br i1 %exitcond, label %for.body4, label %for.end8 187 br i1 %exitcond, label %for.body4, label %for.end8
188 188
210 for.body: ; preds = %entry, %for.body 210 for.body: ; preds = %entry, %for.body
211 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 211 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
212 %conv = trunc i64 %i.03 to i32 212 %conv = trunc i64 %i.03 to i32
213 %mul = mul nsw i64 %i.03, 11 213 %mul = mul nsw i64 %i.03, 11
214 %sub = add nsw i64 %mul, -45 214 %sub = add nsw i64 %mul, -45
215 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 215 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
216 store i32 %conv, i32* %arrayidx, align 4 216 store i32 %conv, i32* %arrayidx, align 4
217 %inc = add nsw i64 %i.03, 1 217 %inc = add nsw i64 %i.03, 1
218 %exitcond4 = icmp ne i64 %inc, 6 218 %exitcond4 = icmp ne i64 %inc, 6
219 br i1 %exitcond4, label %for.body, label %for.body4.preheader 219 br i1 %exitcond4, label %for.body, label %for.body4.preheader
220 220
222 br label %for.body4 222 br label %for.body4
223 223
224 for.body4: ; preds = %for.body4.preheader, %for.body4 224 for.body4: ; preds = %for.body4.preheader, %for.body4
225 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 225 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
226 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 226 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
227 %arrayidx5 = getelementptr inbounds i32* %A, i64 %j.02 227 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %j.02
228 %0 = load i32* %arrayidx5, align 4 228 %0 = load i32, i32* %arrayidx5, align 4
229 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 229 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
230 store i32 %0, i32* %B.addr.01, align 4 230 store i32 %0, i32* %B.addr.01, align 4
231 %inc7 = add nsw i64 %j.02, 1 231 %inc7 = add nsw i64 %j.02, 1
232 %exitcond = icmp ne i64 %inc7, 11 232 %exitcond = icmp ne i64 %inc7, 11
233 br i1 %exitcond, label %for.body4, label %for.end8 233 br i1 %exitcond, label %for.body4, label %for.end8
234 234
256 for.body: ; preds = %entry, %for.body 256 for.body: ; preds = %entry, %for.body
257 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 257 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
258 %conv = trunc i64 %i.03 to i32 258 %conv = trunc i64 %i.03 to i32
259 %mul = mul nsw i64 %i.03, -11 259 %mul = mul nsw i64 %i.03, -11
260 %add = add nsw i64 %mul, 45 260 %add = add nsw i64 %mul, 45
261 %arrayidx = getelementptr inbounds i32* %A, i64 %add 261 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add
262 store i32 %conv, i32* %arrayidx, align 4 262 store i32 %conv, i32* %arrayidx, align 4
263 %inc = add nsw i64 %i.03, 1 263 %inc = add nsw i64 %i.03, 1
264 %exitcond4 = icmp ne i64 %inc, 5 264 %exitcond4 = icmp ne i64 %inc, 5
265 br i1 %exitcond4, label %for.body, label %for.body4.preheader 265 br i1 %exitcond4, label %for.body, label %for.body4.preheader
266 266
269 269
270 for.body4: ; preds = %for.body4.preheader, %for.body4 270 for.body4: ; preds = %for.body4.preheader, %for.body4
271 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 271 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
272 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 272 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
273 %sub = sub nsw i64 0, %j.02 273 %sub = sub nsw i64 0, %j.02
274 %arrayidx5 = getelementptr inbounds i32* %A, i64 %sub 274 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub
275 %0 = load i32* %arrayidx5, align 4 275 %0 = load i32, i32* %arrayidx5, align 4
276 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 276 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
277 store i32 %0, i32* %B.addr.01, align 4 277 store i32 %0, i32* %B.addr.01, align 4
278 %inc7 = add nsw i64 %j.02, 1 278 %inc7 = add nsw i64 %j.02, 1
279 %exitcond = icmp ne i64 %inc7, 10 279 %exitcond = icmp ne i64 %inc7, 10
280 br i1 %exitcond, label %for.body4, label %for.end8 280 br i1 %exitcond, label %for.body4, label %for.end8
281 281
303 for.body: ; preds = %entry, %for.body 303 for.body: ; preds = %entry, %for.body
304 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 304 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
305 %conv = trunc i64 %i.03 to i32 305 %conv = trunc i64 %i.03 to i32
306 %mul = mul nsw i64 %i.03, -11 306 %mul = mul nsw i64 %i.03, -11
307 %add = add nsw i64 %mul, 45 307 %add = add nsw i64 %mul, 45
308 %arrayidx = getelementptr inbounds i32* %A, i64 %add 308 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add
309 store i32 %conv, i32* %arrayidx, align 4 309 store i32 %conv, i32* %arrayidx, align 4
310 %inc = add nsw i64 %i.03, 1 310 %inc = add nsw i64 %i.03, 1
311 %exitcond4 = icmp ne i64 %inc, 6 311 %exitcond4 = icmp ne i64 %inc, 6
312 br i1 %exitcond4, label %for.body, label %for.body4.preheader 312 br i1 %exitcond4, label %for.body, label %for.body4.preheader
313 313
316 316
317 for.body4: ; preds = %for.body4.preheader, %for.body4 317 for.body4: ; preds = %for.body4.preheader, %for.body4
318 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 318 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
319 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 319 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
320 %sub = sub nsw i64 0, %j.02 320 %sub = sub nsw i64 0, %j.02
321 %arrayidx5 = getelementptr inbounds i32* %A, i64 %sub 321 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub
322 %0 = load i32* %arrayidx5, align 4 322 %0 = load i32, i32* %arrayidx5, align 4
323 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 323 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
324 store i32 %0, i32* %B.addr.01, align 4 324 store i32 %0, i32* %B.addr.01, align 4
325 %inc7 = add nsw i64 %j.02, 1 325 %inc7 = add nsw i64 %j.02, 1
326 %exitcond = icmp ne i64 %inc7, 10 326 %exitcond = icmp ne i64 %inc7, 10
327 br i1 %exitcond, label %for.body4, label %for.end8 327 br i1 %exitcond, label %for.body4, label %for.end8
328 328
350 for.body: ; preds = %entry, %for.body 350 for.body: ; preds = %entry, %for.body
351 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 351 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
352 %conv = trunc i64 %i.03 to i32 352 %conv = trunc i64 %i.03 to i32
353 %mul = mul nsw i64 %i.03, -11 353 %mul = mul nsw i64 %i.03, -11
354 %add = add nsw i64 %mul, 45 354 %add = add nsw i64 %mul, 45
355 %arrayidx = getelementptr inbounds i32* %A, i64 %add 355 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add
356 store i32 %conv, i32* %arrayidx, align 4 356 store i32 %conv, i32* %arrayidx, align 4
357 %inc = add nsw i64 %i.03, 1 357 %inc = add nsw i64 %i.03, 1
358 %exitcond4 = icmp ne i64 %inc, 5 358 %exitcond4 = icmp ne i64 %inc, 5
359 br i1 %exitcond4, label %for.body, label %for.body4.preheader 359 br i1 %exitcond4, label %for.body, label %for.body4.preheader
360 360
363 363
364 for.body4: ; preds = %for.body4.preheader, %for.body4 364 for.body4: ; preds = %for.body4.preheader, %for.body4
365 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 365 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
366 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 366 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
367 %sub = sub nsw i64 0, %j.02 367 %sub = sub nsw i64 0, %j.02
368 %arrayidx5 = getelementptr inbounds i32* %A, i64 %sub 368 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub
369 %0 = load i32* %arrayidx5, align 4 369 %0 = load i32, i32* %arrayidx5, align 4
370 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 370 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
371 store i32 %0, i32* %B.addr.01, align 4 371 store i32 %0, i32* %B.addr.01, align 4
372 %inc7 = add nsw i64 %j.02, 1 372 %inc7 = add nsw i64 %j.02, 1
373 %exitcond = icmp ne i64 %inc7, 11 373 %exitcond = icmp ne i64 %inc7, 11
374 br i1 %exitcond, label %for.body4, label %for.end8 374 br i1 %exitcond, label %for.body4, label %for.end8
375 375
397 for.body: ; preds = %entry, %for.body 397 for.body: ; preds = %entry, %for.body
398 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ] 398 %i.03 = phi i64 [ 0, %entry ], [ %inc, %for.body ]
399 %conv = trunc i64 %i.03 to i32 399 %conv = trunc i64 %i.03 to i32
400 %mul = mul nsw i64 %i.03, -11 400 %mul = mul nsw i64 %i.03, -11
401 %add = add nsw i64 %mul, 45 401 %add = add nsw i64 %mul, 45
402 %arrayidx = getelementptr inbounds i32* %A, i64 %add 402 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %add
403 store i32 %conv, i32* %arrayidx, align 4 403 store i32 %conv, i32* %arrayidx, align 4
404 %inc = add nsw i64 %i.03, 1 404 %inc = add nsw i64 %i.03, 1
405 %exitcond4 = icmp ne i64 %inc, 6 405 %exitcond4 = icmp ne i64 %inc, 6
406 br i1 %exitcond4, label %for.body, label %for.body4.preheader 406 br i1 %exitcond4, label %for.body, label %for.body4.preheader
407 407
410 410
411 for.body4: ; preds = %for.body4.preheader, %for.body4 411 for.body4: ; preds = %for.body4.preheader, %for.body4
412 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ] 412 %j.02 = phi i64 [ %inc7, %for.body4 ], [ 0, %for.body4.preheader ]
413 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ] 413 %B.addr.01 = phi i32* [ %incdec.ptr, %for.body4 ], [ %B, %for.body4.preheader ]
414 %sub = sub nsw i64 0, %j.02 414 %sub = sub nsw i64 0, %j.02
415 %arrayidx5 = getelementptr inbounds i32* %A, i64 %sub 415 %arrayidx5 = getelementptr inbounds i32, i32* %A, i64 %sub
416 %0 = load i32* %arrayidx5, align 4 416 %0 = load i32, i32* %arrayidx5, align 4
417 %incdec.ptr = getelementptr inbounds i32* %B.addr.01, i64 1 417 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.01, i64 1
418 store i32 %0, i32* %B.addr.01, align 4 418 store i32 %0, i32* %B.addr.01, align 4
419 %inc7 = add nsw i64 %j.02, 1 419 %inc7 = add nsw i64 %j.02, 1
420 %exitcond = icmp ne i64 %inc7, 11 420 %exitcond = icmp ne i64 %inc7, 11
421 br i1 %exitcond, label %for.body4, label %for.end8 421 br i1 %exitcond, label %for.body4, label %for.end8
422 422
450 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ] 450 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ]
451 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ] 451 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ]
452 %conv = trunc i64 %i.03 to i32 452 %conv = trunc i64 %i.03 to i32
453 %mul = mul nsw i64 %i.03, 11 453 %mul = mul nsw i64 %i.03, 11
454 %sub = sub nsw i64 %mul, %j.02 454 %sub = sub nsw i64 %mul, %j.02
455 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 455 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
456 store i32 %conv, i32* %arrayidx, align 4 456 store i32 %conv, i32* %arrayidx, align 4
457 %arrayidx4 = getelementptr inbounds i32* %A, i64 45 457 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45
458 %0 = load i32* %arrayidx4, align 4 458 %0 = load i32, i32* %arrayidx4, align 4
459 %incdec.ptr = getelementptr inbounds i32* %B.addr.11, i64 1 459 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1
460 store i32 %0, i32* %B.addr.11, align 4 460 store i32 %0, i32* %B.addr.11, align 4
461 %inc = add nsw i64 %j.02, 1 461 %inc = add nsw i64 %j.02, 1
462 %exitcond = icmp ne i64 %inc, 10 462 %exitcond = icmp ne i64 %inc, 10
463 br i1 %exitcond, label %for.body3, label %for.inc5 463 br i1 %exitcond, label %for.body3, label %for.inc5
464 464
465 for.inc5: ; preds = %for.body3 465 for.inc5: ; preds = %for.body3
466 %scevgep = getelementptr i32* %B.addr.04, i64 10 466 %scevgep = getelementptr i32, i32* %B.addr.04, i64 10
467 %inc6 = add nsw i64 %i.03, 1 467 %inc6 = add nsw i64 %i.03, 1
468 %exitcond5 = icmp ne i64 %inc6, 5 468 %exitcond5 = icmp ne i64 %inc6, 5
469 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7 469 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7
470 470
471 for.end7: ; preds = %for.inc5 471 for.end7: ; preds = %for.inc5
499 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ] 499 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ]
500 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ] 500 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ]
501 %conv = trunc i64 %i.03 to i32 501 %conv = trunc i64 %i.03 to i32
502 %mul = mul nsw i64 %i.03, 11 502 %mul = mul nsw i64 %i.03, 11
503 %sub = sub nsw i64 %mul, %j.02 503 %sub = sub nsw i64 %mul, %j.02
504 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 504 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
505 store i32 %conv, i32* %arrayidx, align 4 505 store i32 %conv, i32* %arrayidx, align 4
506 %arrayidx4 = getelementptr inbounds i32* %A, i64 45 506 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45
507 %0 = load i32* %arrayidx4, align 4 507 %0 = load i32, i32* %arrayidx4, align 4
508 %incdec.ptr = getelementptr inbounds i32* %B.addr.11, i64 1 508 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1
509 store i32 %0, i32* %B.addr.11, align 4 509 store i32 %0, i32* %B.addr.11, align 4
510 %inc = add nsw i64 %j.02, 1 510 %inc = add nsw i64 %j.02, 1
511 %exitcond = icmp ne i64 %inc, 10 511 %exitcond = icmp ne i64 %inc, 10
512 br i1 %exitcond, label %for.body3, label %for.inc5 512 br i1 %exitcond, label %for.body3, label %for.inc5
513 513
514 for.inc5: ; preds = %for.body3 514 for.inc5: ; preds = %for.body3
515 %scevgep = getelementptr i32* %B.addr.04, i64 10 515 %scevgep = getelementptr i32, i32* %B.addr.04, i64 10
516 %inc6 = add nsw i64 %i.03, 1 516 %inc6 = add nsw i64 %i.03, 1
517 %exitcond5 = icmp ne i64 %inc6, 6 517 %exitcond5 = icmp ne i64 %inc6, 6
518 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7 518 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7
519 519
520 for.end7: ; preds = %for.inc5 520 for.end7: ; preds = %for.inc5
547 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ] 547 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ]
548 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ] 548 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ]
549 %conv = trunc i64 %i.03 to i32 549 %conv = trunc i64 %i.03 to i32
550 %mul = mul nsw i64 %i.03, 11 550 %mul = mul nsw i64 %i.03, 11
551 %sub = sub nsw i64 %mul, %j.02 551 %sub = sub nsw i64 %mul, %j.02
552 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 552 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
553 store i32 %conv, i32* %arrayidx, align 4 553 store i32 %conv, i32* %arrayidx, align 4
554 %arrayidx4 = getelementptr inbounds i32* %A, i64 45 554 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45
555 %0 = load i32* %arrayidx4, align 4 555 %0 = load i32, i32* %arrayidx4, align 4
556 %incdec.ptr = getelementptr inbounds i32* %B.addr.11, i64 1 556 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1
557 store i32 %0, i32* %B.addr.11, align 4 557 store i32 %0, i32* %B.addr.11, align 4
558 %inc = add nsw i64 %j.02, 1 558 %inc = add nsw i64 %j.02, 1
559 %exitcond = icmp ne i64 %inc, 11 559 %exitcond = icmp ne i64 %inc, 11
560 br i1 %exitcond, label %for.body3, label %for.inc5 560 br i1 %exitcond, label %for.body3, label %for.inc5
561 561
562 for.inc5: ; preds = %for.body3 562 for.inc5: ; preds = %for.body3
563 %scevgep = getelementptr i32* %B.addr.04, i64 11 563 %scevgep = getelementptr i32, i32* %B.addr.04, i64 11
564 %inc6 = add nsw i64 %i.03, 1 564 %inc6 = add nsw i64 %i.03, 1
565 %exitcond5 = icmp ne i64 %inc6, 5 565 %exitcond5 = icmp ne i64 %inc6, 5
566 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7 566 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7
567 567
568 for.end7: ; preds = %for.inc5 568 for.end7: ; preds = %for.inc5
595 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ] 595 %j.02 = phi i64 [ 0, %for.cond1.preheader ], [ %inc, %for.body3 ]
596 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ] 596 %B.addr.11 = phi i32* [ %B.addr.04, %for.cond1.preheader ], [ %incdec.ptr, %for.body3 ]
597 %conv = trunc i64 %i.03 to i32 597 %conv = trunc i64 %i.03 to i32
598 %mul = mul nsw i64 %i.03, 11 598 %mul = mul nsw i64 %i.03, 11
599 %sub = sub nsw i64 %mul, %j.02 599 %sub = sub nsw i64 %mul, %j.02
600 %arrayidx = getelementptr inbounds i32* %A, i64 %sub 600 %arrayidx = getelementptr inbounds i32, i32* %A, i64 %sub
601 store i32 %conv, i32* %arrayidx, align 4 601 store i32 %conv, i32* %arrayidx, align 4
602 %arrayidx4 = getelementptr inbounds i32* %A, i64 45 602 %arrayidx4 = getelementptr inbounds i32, i32* %A, i64 45
603 %0 = load i32* %arrayidx4, align 4 603 %0 = load i32, i32* %arrayidx4, align 4
604 %incdec.ptr = getelementptr inbounds i32* %B.addr.11, i64 1 604 %incdec.ptr = getelementptr inbounds i32, i32* %B.addr.11, i64 1
605 store i32 %0, i32* %B.addr.11, align 4 605 store i32 %0, i32* %B.addr.11, align 4
606 %inc = add nsw i64 %j.02, 1 606 %inc = add nsw i64 %j.02, 1
607 %exitcond = icmp ne i64 %inc, 11 607 %exitcond = icmp ne i64 %inc, 11
608 br i1 %exitcond, label %for.body3, label %for.inc5 608 br i1 %exitcond, label %for.body3, label %for.inc5
609 609
610 for.inc5: ; preds = %for.body3 610 for.inc5: ; preds = %for.body3
611 %scevgep = getelementptr i32* %B.addr.04, i64 11 611 %scevgep = getelementptr i32, i32* %B.addr.04, i64 11
612 %inc6 = add nsw i64 %i.03, 1 612 %inc6 = add nsw i64 %i.03, 1
613 %exitcond5 = icmp ne i64 %inc6, 6 613 %exitcond5 = icmp ne i64 %inc6, 6
614 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7 614 br i1 %exitcond5, label %for.cond1.preheader, label %for.end7
615 615
616 for.end7: ; preds = %for.inc5 616 for.end7: ; preds = %for.inc5