Lines Matching refs:loop
7 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
8 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m) LoopDisposition…
10 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m)) LoopDispo…
12 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
13 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_2ops
14 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m)
15 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
16 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m)
18 ; CHECK: Loop %loop: Trip multiple is 1
21 br label %loop
22 loop:
23 %i = phi i32 [0, %entry], [%i.next, %loop]
28 br i1 %cond, label %loop, label %exit
36 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
37 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m) LoopDisposition…
39 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m)) LoopDispo…
41 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
42 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_2ops
43 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m)
44 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
45 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m)
47 ; CHECK: Loop %loop: Trip multiple is 1
50 br label %loop
51 loop:
52 %i = phi i32 [0, %entry], [%i.next, %loop]
57 br i1 %cond, label %exit, label %loop
65 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
66 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m umin_seq %k) Loo…
68 …CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m umin_seq %k)…
70 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
72 … umin_seq %cond_p2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
73 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_3ops
74 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq %k)
75 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
76 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq %k)
78 ; CHECK: Loop %loop: Trip multiple is 1
81 br label %loop
82 loop:
83 %i = phi i32 [0, %entry], [%i.next, %loop]
90 br i1 %cond, label %loop, label %exit
98 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
99 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m umin_seq %k) Loo…
101 …CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m umin_seq %k)…
103 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
105 …(true + %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
106 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops
107 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq %k)
108 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
109 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq %k)
111 ; CHECK: Loop %loop: Trip multiple is 1
114 br label %loop
115 loop:
116 %i = phi i32 [0, %entry], [%i.next, %loop]
123 br i1 %cond, label %exit, label %loop
131 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
132 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m umin_seq %k) Loo…
134 …CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m umin_seq %k)…
136 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
138 …(true + %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
140 …(true + %cond_p3))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
141 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_duplicate
142 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq %k)
143 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
144 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq %k)
146 ; CHECK: Loop %loop: Trip multiple is 1
149 br label %loop
150 loop:
151 %i = phi i32 [0, %entry], [%i.next, %loop]
160 br i1 %cond, label %exit, label %loop
168 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
169 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((%n umin %m) umin_seq %k) LoopD…
171 … CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n umin %m) umin_seq %k))…
173 …--> (%n umin %m) U: full-set S: full-set Exits: (%n umin %m) LoopDispositions: { %loop: Invariant }
175 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
177 …(true + %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
178 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_redundant_uminseq_operand
179 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n umin %m) umin_seq %k)
180 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
181 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n umin %m) umin_seq %k)
183 ; CHECK: Loop %loop: Trip multiple is 1
186 br label %loop
187 loop:
188 %i = phi i32 [0, %entry], [%i.next, %loop]
196 br i1 %cond, label %exit, label %loop
204 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
205 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %k umin_seq %m) Loo…
207 …CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %k umin_seq %m)…
209 …--> (%n umin %m) U: full-set S: full-set Exits: (%n umin %m) LoopDispositions: { %loop: Invariant }
211 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
213 …(true + %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
214 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_redundant_umin_operand
215 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %k umin_seq %m)
216 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
217 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %k umin_seq %m)
219 ; CHECK: Loop %loop: Trip multiple is 1
222 br label %loop
223 loop:
224 %i = phi i32 [0, %entry], [%i.next, %loop]
232 br i1 %cond, label %exit, label %loop
240 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
241 …ECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((%n umin %m) umin_seq %k umin_seq …
243 …-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n umin %m) umin_seq %k umin_se…
245 …--> (%n umin %m) U: full-set S: full-set Exits: (%n umin %m) LoopDispositions: { %loop: Invariant }
247 …--> (%n umin %q) U: full-set S: full-set Exits: (%n umin %q) LoopDispositions: { %loop: Invariant }
249 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
251 …(true + %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
252 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_4ops_redundant_operand_across_umi…
253 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n umin %m) umin_seq %k umin_seq %q)
254 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
255 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n umin %m) umin_seq %k umin_seq %q)
257 ; CHECK: Loop %loop: Trip multiple is 1
260 br label %loop
261 loop:
262 %i = phi i32 [0, %entry], [%i.next, %loop]
271 br i1 %cond, label %exit, label %loop
279 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
280 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((%n umin %m) umin_seq %k) LoopD…
282 … CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n umin %m) umin_seq %k))…
284 …--> (%n umin %m) U: full-set S: full-set Exits: (%n umin %m) LoopDispositions: { %loop: Invariant }
286 …--> (%n umin %k) U: full-set S: full-set Exits: (%n umin %k) LoopDispositions: { %loop: Invariant }
288 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
290 …(true + %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
291 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_operand_wise_redundant_umin
292 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n umin %m) umin_seq %k)
293 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
294 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n umin %m) umin_seq %k)
296 ; CHECK: Loop %loop: Trip multiple is 1
299 br label %loop
300 loop:
301 %i = phi i32 [0, %entry], [%i.next, %loop]
310 br i1 %cond, label %exit, label %loop
318 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
319 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq (%m umin %k)) LoopD…
321 … CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq (%m umin %k)))…
323 …--> (%n umin %m) U: full-set S: full-set Exits: (%n umin %m) LoopDispositions: { %loop: Invariant }
325 …umin %k) U: full-set S: full-set Exits: (%n umin %m umin %k) LoopDispositions: { %loop: Invariant }
327 …(true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
328 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_partially_redundant_umin
329 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq (%m umin %k))
330 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
331 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq (%m umin %k))
333 ; CHECK: Loop %loop: Trip multiple is 1
336 br label %loop
337 loop:
338 %i = phi i32 [0, %entry], [%i.next, %loop]
345 br i1 %cond, label %exit, label %loop
353 ; CHECK-NEXT: %first.i = phi i32 [ 0, %entry ], [ %first.i.next, %first.loop ]
354 …NEXT: --> {0,+,1}<%first.loop> U: full-set S: full-set Exits: (%e umin_seq %d umin_seq %a) Loop…
356 …T: --> {1,+,1}<%first.loop> U: full-set S: full-set Exits: (1 + (%e umin_seq %d umin_seq %a)) L…
358 …+ %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %first.loop: Variant }
360 …+ %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %first.loop: Variant }
361 ; CHECK-NEXT: %i = phi i32 [ 0, %first.loop.exit ], [ %i.next, %loop ]
362 …T: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%a umin_seq %b umin_seq ((%e umin_seq %d)…
364 … --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%a umin_seq %b umin_seq ((%e umin_seq %…
366 …--> (%c umin %d) U: full-set S: full-set Exits: (%c umin %d) LoopDispositions: { %loop: Invariant }
368 …loop> umin %c umin %d) U: full-set S: full-set --> ((%e umin_seq %d umin_seq %a) umin %c umin %d) …
370 …(true + %cond_p6))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
372 …(true + %cond_p7))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
373 ; CHECK-NEXT: Determining loop execution counts for: @logical_or_5ops_redundant_opearand_of_inner_…
374 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%a umin_seq %b umin_seq ((%e umin_seq %d) umin …
375 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
376 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%a umin_seq %b umin_seq ((%e umin_se…
378 ; CHECK: Loop %loop: Trip multiple is 1
379 ; CHECK-NEXT: Loop %first.loop: backedge-taken count is (%e umin_seq %d umin_seq %a)
380 ; CHECK-NEXT: Loop %first.loop: max backedge-taken count is -1
381 ; CHECK-NEXT: Loop %first.loop: Predicated backedge-taken count is (%e umin_seq %d umin_seq %a)
383 ; CHECK: Loop %first.loop: Trip multiple is 1
386 br label %first.loop
387 first.loop:
388 %first.i = phi i32 [0, %entry], [%first.i.next, %first.loop]
395 br i1 %cond_p4, label %first.loop.exit, label %first.loop
396 first.loop.exit:
397 br label %loop
398 loop:
399 %i = phi i32 [0, %first.loop.exit], [%i.next, %loop]
408 br i1 %cond, label %exit, label %loop
416 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
417 ; CHECK-NEXT: --> {0,+,1}<%loop> U: [0,43) S: [0,43) Exits: (42 umin %n) LoopDispositions: { %lo…
419 ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,44) S: [1,44) Exits: (1 + (42 umin %n))<nuw><nsw> LoopDis…
421 ; CHECK-NEXT: --> (42 umin %n) U: [0,43) S: [0,43) Exits: (42 umin %n) LoopDispositions: { %loop…
423 …(true + %cond_p0))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
424 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_2ops_and_constant
425 ; CHECK-NEXT: Loop %loop: backedge-taken count is (42 umin %n)
426 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 42
427 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (42 umin %n)
429 ; CHECK: Loop %loop: Trip multiple is 1
432 br label %loop
433 loop:
434 %i = phi i32 [0, %entry], [%i.next, %loop]
440 br i1 %cond, label %exit, label %loop
462 ; CHECK-NEXT: Determining loop execution counts for: @computeSCEVAtScope
518 ; CHECK-NEXT: %i = phi i64 [ 0, %entry ], [ %i.next, %loop ]
519 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m) LoopDisposition…
521 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m)) LoopDispo…
523 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
527 ; CHECK-NEXT: --> {(ptrtoint i64* %ptr to i64),+,1}<%loop> U: full-set S: full-set --> ((%n umin…
528 ; CHECK-NEXT: Determining loop execution counts for: @uminseq_vs_ptrtoint_complexity
529 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m)
530 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
531 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m)
533 ; CHECK: Loop %loop: Trip multiple is 1
536 br label %loop
537 loop:
538 %i = phi i64 [0, %entry], [%i.next, %loop]
543 br i1 %cond, label %loop, label %exit
555 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
556 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((1 + %n) umin %n) LoopDispositi…
558 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((1 + %n) umin %n)) LoopDis…
560 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
561 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison1
562 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + %n) umin %n)
563 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
564 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((1 + %n) umin %n)
566 ; CHECK: Loop %loop: Trip multiple is 1
570 br label %loop
571 loop:
572 %i = phi i32 [0, %entry], [%i.next, %loop]
577 br i1 %cond, label %loop, label %exit
587 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
588 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((1 + %n) umin %n) LoopDispositi…
590 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((1 + %n) umin %n)) LoopDis…
592 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
593 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison2
594 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + %n) umin %n)
595 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
596 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((1 + %n) umin %n)
598 ; CHECK: Loop %loop: Trip multiple is 1
602 br label %loop
603 loop:
604 %i = phi i32 [0, %entry], [%i.next, %loop]
609 br i1 %cond, label %loop, label %exit
619 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
620 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((%n + %m) umin %n) LoopDisposit…
622 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n + %m) umin %n)) LoopDi…
624 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
625 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison3
626 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin %n)
627 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
628 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin %n)
630 ; CHECK: Loop %loop: Trip multiple is 1
634 br label %loop
635 loop:
636 %i = phi i32 [0, %entry], [%i.next, %loop]
641 br i1 %cond, label %loop, label %exit
651 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
652 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq (%n + %m)) LoopDisp…
654 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq (%n + %m))) Lo…
656 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
657 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_wrong_direction
658 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq (%n + %m))
659 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
660 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq (%n + %m))
662 ; CHECK: Loop %loop: Trip multiple is 1
666 br label %loop
667 loop:
668 %i = phi i32 [0, %entry], [%i.next, %loop]
673 br i1 %cond, label %loop, label %exit
681 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
682 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin %m) LoopDispositions: {…
684 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin %m)) LoopDispositi…
686 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
687 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_noundef
688 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin %m)
689 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
690 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin %m)
692 ; CHECK: Loop %loop: Trip multiple is 1
695 br label %loop
696 loop:
697 %i = phi i32 [0, %entry], [%i.next, %loop]
702 br i1 %cond, label %loop, label %exit
710 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
711 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%m umin_seq %n) LoopDisposition…
713 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%m umin_seq %n)) LoopDispo…
715 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
716 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_noundef_wrong_dir…
717 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%m umin_seq %n)
718 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
719 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%m umin_seq %n)
721 ; CHECK: Loop %loop: Trip multiple is 1
724 br label %loop
725 loop:
726 %i = phi i32 [0, %entry], [%i.next, %loop]
731 br i1 %cond, label %loop, label %exit
743 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
744 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((%n + %m) umin (1 + %n + %m)) L…
746 …HECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n + %m) umin (1 + %n + %m)…
748 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
749 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex1
750 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin (1 + %n + %m))
751 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
752 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin (1 + %n + %m))
754 ; CHECK: Loop %loop: Trip multiple is 1
759 br label %loop
760 loop:
761 %i = phi i32 [0, %entry], [%i.next, %loop]
766 br i1 %cond, label %loop, label %exit
778 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
779 … CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((%n + %m) umin (%n + %m + %l)) …
781 …ECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n + %m) umin (%n + %m + %l)…
783 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
784 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex2
785 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin (%n + %m + %l))
786 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
787 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin (%n + %m + %l))
789 ; CHECK: Loop %loop: Trip multiple is 1
794 br label %loop
795 loop:
796 %i = phi i32 [0, %entry], [%i.next, %loop]
801 br i1 %cond, label %loop, label %exit
813 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
814 …HECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: ((%n + %m) umin_seq (%n + %m + %l)…
816 …K-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n + %m) umin_seq (%n + %m + %…
818 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
819 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex_wrong_dir…
820 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin_seq (%n + %m + %l))
821 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
822 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((%n + %m) umin_seq (%n + %m + %l))
824 ; CHECK: Loop %loop: Trip multiple is 1
829 br label %loop
830 loop:
831 %i = phi i32 [0, %entry], [%i.next, %loop]
836 br i1 %cond, label %loop, label %exit
846 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
847 … CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (((1 + %n) umin %n) umin_seq %m)…
849 …ECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (((1 + %n) umin %n) umin_seq %…
851 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
853 … umin_seq %cond_p2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
854 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops
855 ; CHECK-NEXT: Loop %loop: backedge-taken count is (((1 + %n) umin %n) umin_seq %m)
856 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
857 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (((1 + %n) umin %n) umin_seq %m)
859 ; CHECK: Loop %loop: Trip multiple is 1
863 br label %loop
864 loop:
865 %i = phi i32 [0, %entry], [%i.next, %loop]
872 br i1 %cond2, label %loop, label %exit
882 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
883 …CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m umin_seq (1 + %n)…
885 …CK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m umin_seq (1 + %…
887 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
889 … umin_seq %cond_p2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
890 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops2
891 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq (1 + %n))
892 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
893 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq (1 + %n))
895 ; CHECK: Loop %loop: Trip multiple is 1
899 br label %loop
900 loop:
901 %i = phi i32 [0, %entry], [%i.next, %loop]
908 br i1 %cond2, label %loop, label %exit
918 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
919 … CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%m umin_seq ((1 + %n) umin %n))…
921 …ECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%m umin_seq ((1 + %n) umin %n…
923 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
925 … umin_seq %cond_p2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
926 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops3
927 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%m umin_seq ((1 + %n) umin %n))
928 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
929 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%m umin_seq ((1 + %n) umin %n))
931 ; CHECK: Loop %loop: Trip multiple is 1
935 br label %loop
936 loop:
937 %i = phi i32 [0, %entry], [%i.next, %loop]
944 br i1 %cond2, label %loop, label %exit
956 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
957 …EXT: --> {0,+,1}<%loop> U: [0,65537) S: [0,65537) Exits: ((1 + (zext i16 %n to i32))<nuw><nsw> …
959 …--> {1,+,1}<%loop> U: [1,65538) S: [1,65538) Exits: (1 + ((1 + (zext i16 %n to i32))<nuw><nsw> umi…
961 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
962 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_zero
963 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + (zext i16 %n to i32))<nuw><nsw> umin %m)
964 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65536
965 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((1 + (zext i16 %n to i32))<nuw><nsw>…
967 ; CHECK: Loop %loop: Trip multiple is 1
972 br label %loop
973 loop:
974 %i = phi i32 [0, %entry], [%i.next, %loop]
979 br i1 %cond, label %loop, label %exit
991 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
992 …T: --> {0,+,1}<%loop> U: [0,65537) S: [0,65537) Exits: (%m umin_seq (1 + (zext i16 %n to i32))<…
994 …> {1,+,1}<%loop> U: [1,65538) S: [1,65538) Exits: (1 + (%m umin_seq (1 + (zext i16 %n to i32))<nuw…
996 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
997 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_zero_wrong_order
998 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%m umin_seq (1 + (zext i16 %n to i32))<nuw><nsw…
999 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65536
1000 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%m umin_seq (1 + (zext i16 %n to i32…
1002 ; CHECK: Loop %loop: Trip multiple is 1
1007 br label %loop
1008 loop:
1009 %i = phi i32 [0, %entry], [%i.next, %loop]
1014 br i1 %cond, label %loop, label %exit
1022 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1023 ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m) LoopDisposition…
1025 ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m)) LoopDispo…
1027 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
1028 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_zero_needs_context
1029 ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m)
1030 ; CHECK-NEXT: Loop %loop: max backedge-taken count is -1
1031 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m)
1033 ; CHECK: Loop %loop: Trip multiple is 1
1037 br i1 %cmp, label %loop, label %guard.fail
1038 loop:
1039 %i = phi i32 [0, %entry], [%i.next, %loop]
1044 br i1 %cond, label %loop, label %exit
1060 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1061 ; CHECK-NEXT: --> {0,+,1}<%loop> U: [0,65536) S: [0,65536) Exits: (zext i16 %n to i32) LoopDispo…
1063 …ECK-NEXT: --> {1,+,1}<%loop> U: [1,65537) S: [1,65537) Exits: (1 + (zext i16 %n to i32))<nuw><n…
1065 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
1066 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_smaller
1067 ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32)
1068 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535
1069 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32)
1071 ; CHECK: Loop %loop: Trip multiple is 1
1077 br label %loop
1078 loop:
1079 %i = phi i32 [0, %entry], [%i.next, %loop]
1084 br i1 %cond, label %loop, label %exit
1098 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1099 ; CHECK-NEXT: --> {0,+,1}<%loop> U: [0,65536) S: [0,65536) Exits: (zext i16 %n to i32) LoopDispo…
1101 …ECK-NEXT: --> {1,+,1}<%loop> U: [1,65537) S: [1,65537) Exits: (1 + (zext i16 %n to i32))<nuw><n…
1103 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
1104 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_smaller_equal
1105 ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32)
1106 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535
1107 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32)
1109 ; CHECK: Loop %loop: Trip multiple is 1
1115 br label %loop
1116 loop:
1117 %i = phi i32 [0, %entry], [%i.next, %loop]
1122 br i1 %cond, label %loop, label %exit
1136 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1137 …0,+,1}<%loop> U: [0,65536) S: [0,65536) Exits: ((zext i16 %n to i32) umin_seq (65534 + (zext i16 %…
1139 …loop> U: [1,65537) S: [1,65537) Exits: (1 + ((zext i16 %n to i32) umin_seq (65534 + (zext i16 %m t…
1141 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
1142 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_known_smaller_equal
1143 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((zext i16 %n to i32) umin_seq (65534 + (zext i1…
1144 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535
1145 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((zext i16 %n to i32) umin_seq (65534…
1147 ; CHECK: Loop %loop: Trip multiple is 1
1153 br label %loop
1154 loop:
1155 %i = phi i32 [0, %entry], [%i.next, %loop]
1160 br i1 %cond, label %loop, label %exit
1174 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1175 ; CHECK-NEXT: --> {0,+,1}<%loop> U: [0,65536) S: [0,65536) Exits: (zext i16 %n to i32) LoopDispo…
1177 …ECK-NEXT: --> {1,+,1}<%loop> U: [1,65537) S: [1,65537) Exits: (1 + (zext i16 %n to i32))<nuw><n…
1179 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
1180 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_greater
1181 ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32)
1182 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535
1183 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32)
1185 ; CHECK: Loop %loop: Trip multiple is 1
1191 br label %loop
1192 loop:
1193 %i = phi i32 [0, %entry], [%i.next, %loop]
1198 br i1 %cond, label %loop, label %exit
1212 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1213 ; CHECK-NEXT: --> {0,+,1}<%loop> U: [0,65536) S: [0,65536) Exits: (zext i16 %n to i32) LoopDispo…
1215 …ECK-NEXT: --> {1,+,1}<%loop> U: [1,65537) S: [1,65537) Exits: (1 + (zext i16 %n to i32))<nuw><n…
1217 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
1218 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_known_greater_equal
1219 ; CHECK-NEXT: Loop %loop: backedge-taken count is (zext i16 %n to i32)
1220 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535
1221 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (zext i16 %n to i32)
1223 ; CHECK: Loop %loop: Trip multiple is 1
1229 br label %loop
1230 loop:
1231 %i = phi i32 [0, %entry], [%i.next, %loop]
1236 br i1 %cond, label %loop, label %exit
1250 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1251 … {0,+,1}<%loop> U: [0,65536) S: [0,65536) Exits: ((zext i16 %n to i32) umin (65534 + (zext i16 %m …
1253 …<%loop> U: [1,65537) S: [1,65537) Exits: (1 + ((zext i16 %n to i32) umin (65534 + (zext i16 %m to …
1255 … umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
1256 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_not_known_greater_equal
1257 ; CHECK-NEXT: Loop %loop: backedge-taken count is ((zext i16 %n to i32) umin (65534 + (zext i16 %m…
1258 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 65535
1259 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is ((zext i16 %n to i32) umin (65534 + (…
1261 ; CHECK: Loop %loop: Trip multiple is 1
1267 br label %loop
1268 loop:
1269 %i = phi i32 [0, %entry], [%i.next, %loop]
1274 br i1 %cond, label %loop, label %exit
1282 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1283 ; CHECK-NEXT: --> {0,+,1}<%loop> U: [0,1) S: [0,1) Exits: 0 LoopDispositions: { %loop: Computabl…
1285 ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,2) S: [1,2) Exits: 1 LoopDispositions: { %loop: Computabl…
1287 …ond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: false LoopDispositions: { %loop: Variant }
1288 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_zero_arg1
1289 ; CHECK-NEXT: Loop %loop: backedge-taken count is 0
1290 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 0
1291 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 0
1293 ; CHECK: Loop %loop: Trip multiple is 1
1296 br label %loop
1297 loop:
1298 %i = phi i32 [0, %entry], [%i.next, %loop]
1303 br i1 %cond, label %loop, label %exit
1311 ; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
1312 ; CHECK-NEXT: --> {0,+,1}<%loop> U: [0,1) S: [0,1) Exits: 0 LoopDispositions: { %loop: Computabl…
1314 ; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,2) S: [1,2) Exits: 1 LoopDispositions: { %loop: Computabl…
1316 …ond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: false LoopDispositions: { %loop: Variant }
1317 ; CHECK-NEXT: Determining loop execution counts for: @logical_and_zero_arg2
1318 ; CHECK-NEXT: Loop %loop: backedge-taken count is 0
1319 ; CHECK-NEXT: Loop %loop: max backedge-taken count is 0
1320 ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is 0
1322 ; CHECK: Loop %loop: Trip multiple is 1
1325 br label %loop
1326 loop:
1327 %i = phi i32 [0, %entry], [%i.next, %loop]
1332 br i1 %cond, label %loop, label %exit