Lines Matching refs:outer

20 ; We cannot interchange this loop at the moment, because iv.outer.next is
21 ; produced in the outer loop latch and used in the loop exit block. If the inner
22 ; loop body is not executed, the outer loop latch won't be executed either
30 br i1 %cmp21, label %outer.ph, label %for.end16
32 outer.ph: ; preds = %entry
34 br label %outer.header
36 outer.header: ; preds = %outer.inc, %outer.ph
37 %iv.outer = phi i64 [ 1, %outer.ph ], [ %iv.outer.next, %outer.inc ]
38 br i1 %cmp218, label %for.body3, label %outer.inc
40 for.body3: ; preds = %for.body3, %outer.header
41 %iv.inner = phi i64 [ %iv.inner.next, %for.body3 ], [ 1, %outer.header ]
42 %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %iv.inner, i64 %iv.outer
44 %arrayidx9 = getelementptr inbounds [100 x [100 x i32]], ptr @C, i64 0, i64 %iv.inner, i64 %iv.outer
50 br i1 %exitcond, label %outer.inc, label %for.body3
52 outer.inc: ; preds = %for.body3, %outer.header
53 %iv.outer.next = add nsw i64 %iv.outer, 1
54 %cmp = icmp eq i64 %iv.outer.next, 100
55 br i1 %cmp, label %outer.header, label %for.exit
57 for.exit: ; preds = %outer.inc
58 %iv.outer.next.lcssa = phi i64 [ %iv.outer.next, %outer.inc ]
59 store i64 %iv.outer.next.lcssa, ptr @Y
71 br i1 %cmp21, label %outer.ph, label %for.end16
73 outer.ph: ; preds = %entry
75 br label %outer.header
77 outer.header: ; preds = %outer.inc, %outer.ph
78 %iv.outer = phi i64 [ 1, %outer.ph ], [ %iv.outer.next, %outer.inc ]
79 br i1 %cmp218, label %for.body3, label %outer.inc
81 for.body3: ; preds = %for.body3, %outer.header
82 %iv.inner = phi i64 [ %iv.inner.next, %for.body3 ], [ 1, %outer.header ]
83 %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %iv.inner, i64 %iv.outer
85 %arrayidx9 = getelementptr inbounds [100 x [100 x i32]], ptr @C, i64 0, i64 %iv.inner, i64 %iv.outer
91 br i1 %exitcond, label %outer.inc, label %for.body3
93 outer.inc: ; preds = %for.body3, %outer.header
94 %iv.inner.end = phi i64 [ 0, %outer.header ], [ %iv.inner.next, %for.body3 ]
95 %iv.outer.next = add nsw i64 %iv.outer, 1
96 %cmp = icmp eq i64 %iv.outer.next, 100
97 br i1 %cmp, label %outer.header, label %for.exit
99 for.exit: ; preds = %outer.inc
100 %iv.inner.end.lcssa = phi i64 [ %iv.inner.end, %outer.inc ]
112 br label %outer.header
114 outer.header: ; preds = %outer.inc, %entry
115 %iv.outer = phi i64 [ 1, %entry ], [ %iv.outer.next, %outer.inc ]
118 for.body3: ; preds = %for.body3, %outer.header
119 %iv.inner = phi i64 [ %iv.inner.next, %for.body3 ], [ 1, %outer.header ]
120 %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %iv.inner, i64 %iv.outer
122 %arrayidx9 = getelementptr inbounds [100 x [100 x i32]], ptr @C, i64 0, i64 %iv.inner, i64 %iv.outer
128 br i1 %exitcond, label %outer.inc, label %for.body3
130 outer.inc: ; preds = %for.body3
132 %iv.outer.next = add nsw i64 %iv.outer, 1
133 %cmp = icmp eq i64 %iv.outer.next, 100
134 br i1 %cmp, label %outer.header, label %for.exit
136 for.exit: ; preds = %outer.inc
137 %iv.inner.lcssa.lcssa = phi i64 [ %iv.inner.lcssa, %outer.inc ]
151 br label %outer.header
153 outer.header: ; preds = %outer.inc, %entry
154 %iv.outer = phi i64 [ 1, %entry ], [ %iv.outer.next, %outer.inc ]
155 %float.outer = phi float [ 1.000000e+00, %entry ], [ %float.outer.next, %outer.inc ]
158 for.body3: ; preds = %for.body3, %outer.header
159 %iv.inner = phi i64 [ %iv.inner.next, %for.body3 ], [ 1, %outer.header ]
160 %float.inner = phi float [ %float.inner.next, %for.body3 ], [ %float.outer, %outer.header ]
161 %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %iv.inner, i64 %iv.outer
163 %arrayidx9 = getelementptr inbounds [100 x [100 x i32]], ptr @C, i64 0, i64 %iv.inner, i64 %iv.outer
170 br i1 %exitcond, label %outer.inc, label %for.body3
172 outer.inc: ; preds = %for.body3
173 %float.outer.next = phi float [ %float.inner.next, %for.body3 ]
174 %iv.outer.next = add nsw i64 %iv.outer, 1
175 %cmp = icmp eq i64 %iv.outer.next, 100
176 br i1 %cmp, label %outer.header, label %for.exit
178 for.exit: ; preds = %outer.inc
179 %float.outer.lcssa = phi float [ %float.outer.next, %outer.inc ]
180 store float %float.outer.lcssa, ptr @F
193 br label %outer.header
195 outer.header: ; preds = %outer.inc, %entry
196 %iv.outer = phi i64 [ 1, %entry ], [ %iv.outer.next, %outer.inc ]
199 for.body3: ; preds = %bb3, %outer.header
200 %iv.inner = phi i64 [ %iv.inner.next, %bb3 ], [ 1, %outer.header ]
204 %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %iv.inner, i64 %iv.outer
206 %arrayidx9 = getelementptr inbounds [100 x [100 x i32]], ptr @C, i64 0, i64 %iv.inner, i64 %iv.outer
216 br i1 %exitcond, label %outer.inc, label %for.body3
218 outer.inc: ; preds = %bb3
220 %iv.outer.next = add nsw i64 %iv.outer, 1
221 %cmp = icmp eq i64 %iv.outer.next, 100
222 br i1 %cmp, label %outer.header, label %for.exit
224 for.exit: ; preds = %outer.inc
225 %iv.inner.lcssa.lcssa = phi i64 [ %iv.inner.lcssa, %outer.inc ]
238 br label %outer.header
240 outer.header: ; preds = %outer.inc, %entry
241 %iv.outer = phi i64 [ 1, %entry ], [ %iv.outer.next, %outer.inc ]
242 br i1 %arg, label %for.body3, label %outer.inc
244 for.body3: ; preds = %for.body3, %outer.header
245 %iv.inner = phi i64 [ %iv.inner.next, %for.body3 ], [ 1, %outer.header ]
246 %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %iv.inner, i64 %iv.outer
248 %arrayidx9 = getelementptr inbounds [100 x [100 x i32]], ptr @C, i64 0, i64 %iv.inner, i64 %iv.outer
254 br i1 %exitcond, label %outer.inc, label %for.body3
256 outer.inc: ; preds = %for.body3, %outer.header
257 %sv = phi i64 [ 0, %outer.header ], [ 1, %for.body3 ]
258 %iv.outer.next = add nsw i64 %iv.outer, 1
259 %cmp = icmp eq i64 %iv.outer.next, 100
260 br i1 %cmp, label %outer.header, label %for.exit
262 for.exit: ; preds = %outer.inc
263 %sv.lcssa = phi i64 [ %sv, %outer.inc ]
275 br label %outer.header
277 outer.header: ; preds = %outer.inc, %entry
278 %iv.outer = phi i64 [ 1, %entry ], [ %iv.outer.next, %outer.inc ]
281 for.body3: ; preds = %for.body3, %outer.header
282 %iv.inner = phi i64 [ %iv.inner.next, %for.body3 ], [ 1, %outer.header ]
283 %arrayidx5 = getelementptr inbounds [100 x [100 x i32]], ptr @A, i64 0, i64 %iv.inner, i64 %iv.outer
285 %arrayidx9 = getelementptr inbounds [100 x [100 x i32]], ptr @C, i64 0, i64 %iv.inner, i64 %iv.outer
291 br i1 %exitcond, label %outer.bb, label %for.body3
293 outer.bb: ; preds = %for.body3
295 br label %outer.inc
297 outer.inc: ; preds = %outer.bb
298 %iv.outer.next = add nsw i64 %iv.outer, 1
299 %cmp = icmp eq i64 %iv.outer.next, 100
300 br i1 %cmp, label %outer.header, label %for.exit
302 for.exit: ; preds = %outer.inc
303 %iv.inner.lcssa.lcssa = phi i64 [ %iv.inner.lcssa, %outer.inc ]
311 ; Should not crash when the outer header branches to
312 ; both the inner loop and the outer latch, and there
338 %sum.outer.lcssa = phi i64 [ %indvars.iv23, %for1.inc ]
339 ret i64 %sum.outer.lcssa