Mercurial > hg > Members > tobaru > cbc > CbC_llvm
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 |