Lines Matching refs:loop
2 ; RUN: opt -S -loop-predication < %s 2>&1 | FileCheck %s
3 ; RUN: opt -S -passes='require<scalar-evolution>,loop-mssa(loop-predication)' -verify-memoryssa < %…
12 ; CHECK: outer.loop.preheader:
14 ; CHECK: outer.loop:
19 ; CHECK: inner.loop.preheader:
24 ; CHECK: inner.loop:
35 ; CHECK: outer.loop.inc.loopexit:
38 ; CHECK: outer.loop.inc:
52 br i1 %tmp5, label %exit, label %outer.loop.preheader
54 outer.loop.preheader:
55 br label %outer.loop
57 outer.loop:
58 %outer.loop.acc = phi i32 [ %outer.loop.acc.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
59 %i = phi i32 [ %i.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
61 br i1 %tmp6, label %outer.loop.inc, label %inner.loop.preheader
63 inner.loop.preheader:
64 br label %inner.loop
66 inner.loop:
67 …%inner.loop.acc = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %inner.loop.pr…
68 %j = phi i32 [ %j.next, %inner.loop ], [ 0, %inner.loop.preheader ]
76 %inner.loop.acc.next = add i32 %inner.loop.acc, %array.j
80 br i1 %inner.continue, label %inner.loop, label %outer.loop.inc
82 outer.loop.inc:
83 …%outer.loop.acc.next = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %outer.lo…
86 br i1 %outer.continue, label %outer.loop, label %exit
89 %result = phi i32 [ 0, %entry ], [ %outer.loop.acc.next, %outer.loop.inc ]
98 ; CHECK: outer.loop.preheader:
103 ; CHECK: outer.loop:
108 ; CHECK: inner.loop.preheader:
110 ; CHECK: inner.loop:
121 ; CHECK: outer.loop.inc.loopexit:
124 ; CHECK: outer.loop.inc:
138 br i1 %tmp5, label %exit, label %outer.loop.preheader
140 outer.loop.preheader:
141 br label %outer.loop
143 outer.loop:
144 %outer.loop.acc = phi i32 [ %outer.loop.acc.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
145 %i = phi i32 [ %i.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
147 br i1 %tmp6, label %outer.loop.inc, label %inner.loop.preheader
149 inner.loop.preheader:
150 br label %inner.loop
152 inner.loop:
154 …%inner.loop.acc = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %inner.loop.pr…
155 %j = phi i32 [ %j.next, %inner.loop ], [ 0, %inner.loop.preheader ]
163 %inner.loop.acc.next = add i32 %inner.loop.acc, %array.i
167 br i1 %inner.continue, label %inner.loop, label %outer.loop.inc
169 outer.loop.inc:
170 …%outer.loop.acc.next = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %outer.lo…
173 br i1 %outer.continue, label %outer.loop, label %exit
176 %result = phi i32 [ 0, %entry ], [ %outer.loop.acc.next, %outer.loop.inc ]
185 ; CHECK: outer.loop.preheader:
190 ; CHECK: outer.loop:
195 ; CHECK: inner.loop.preheader:
198 ; CHECK: inner.loop:
210 ; CHECK: outer.loop.inc.loopexit:
213 ; CHECK: outer.loop.inc:
227 br i1 %tmp5, label %exit, label %outer.loop.preheader
229 outer.loop.preheader:
230 br label %outer.loop
232 outer.loop:
233 %outer.loop.acc = phi i32 [ %outer.loop.acc.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
234 %i = phi i32 [ %i.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
236 br i1 %tmp6, label %outer.loop.inc, label %inner.loop.preheader
238 inner.loop.preheader:
239 br label %inner.loop
241 inner.loop:
242 …%inner.loop.acc = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %inner.loop.pr…
243 %j = phi i32 [ %j.next, %inner.loop ], [ %i, %inner.loop.preheader ]
251 %inner.loop.acc.next = add i32 %inner.loop.acc, %array.j
255 br i1 %inner.continue, label %inner.loop, label %outer.loop.inc
257 outer.loop.inc:
258 …%outer.loop.acc.next = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %outer.lo…
261 br i1 %outer.continue, label %outer.loop, label %exit
264 %result = phi i32 [ 0, %entry ], [ %outer.loop.acc.next, %outer.loop.inc ]
273 ; CHECK: outer.loop.preheader:
275 ; CHECK: outer.loop:
281 ; CHECK: inner.loop.preheader:
283 ; CHECK: inner.loop:
295 ; CHECK: outer.loop.inc.loopexit:
298 ; CHECK: outer.loop.inc:
312 br i1 %tmp5, label %exit, label %outer.loop.preheader
314 outer.loop.preheader:
315 br label %outer.loop
317 outer.loop:
318 %outer.loop.acc = phi i32 [ %outer.loop.acc.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
319 %i = phi i32 [ %i.next, %outer.loop.inc ], [ 0, %outer.loop.preheader ]
322 br i1 %tmp6, label %outer.loop.inc, label %inner.loop.preheader
324 inner.loop.preheader:
325 br label %inner.loop
327 inner.loop:
328 …%inner.loop.acc = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %inner.loop.pr…
329 %j = phi i32 [ %j.next, %inner.loop ], [ %div, %inner.loop.preheader ]
337 %inner.loop.acc.next = add i32 %inner.loop.acc, %array.j
341 br i1 %inner.continue, label %inner.loop, label %outer.loop.inc
343 outer.loop.inc:
344 …%outer.loop.acc.next = phi i32 [ %inner.loop.acc.next, %inner.loop ], [ %outer.loop.acc, %outer.lo…
347 br i1 %outer.continue, label %outer.loop, label %exit
350 %result = phi i32 [ 0, %entry ], [ %outer.loop.acc.next, %outer.loop.inc ]