@@ -139,9 +139,9 @@ define i32 @logical_or_3ops_duplicate(i32 %n, i32 %m, i32 %k) {
139
139
; CHECK-NEXT: %cond_p4 = select i1 %cond_p0, i1 true, i1 %cond_p1
140
140
; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
141
141
; CHECK-NEXT: %cond_p5 = select i1 %cond_p4, i1 true, i1 %cond_p2
142
- ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
142
+ ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (( true + %cond_p1) umin (true + %cond_p2) ))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
143
143
; CHECK-NEXT: %cond = select i1 %cond_p5, i1 true, i1 %cond_p3
144
- ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (true + %cond_p1) umin_seq (true + %cond_p2) umin_seq (true + %cond_p3))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
144
+ ; CHECK-NEXT: --> (true + ((true + %cond_p0) umin_seq (( true + %cond_p1) umin (true + %cond_p2) ) umin_seq (true + %cond_p3))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
145
145
; CHECK-NEXT: Determining loop execution counts for: @logical_or_3ops_duplicate
146
146
; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq %k)
147
147
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -432,7 +432,7 @@ define i32 @logical_and_2ops_and_constant(i32 %n, i32 %m, i32 %k) {
432
432
; CHECK-NEXT: %umin = call i32 @llvm.umin.i32(i32 %n, i32 42)
433
433
; CHECK-NEXT: --> (42 umin %n) U: [0,43) S: [0,43) Exits: (42 umin %n) LoopDispositions: { %loop: Invariant }
434
434
; CHECK-NEXT: %cond = select i1 %cond_p1, i1 true, i1 %cond_p0
435
- ; CHECK-NEXT: --> (true + ((true + %cond_p1) umin_seq (true + %cond_p0))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
435
+ ; CHECK-NEXT: --> (true + ((true + %cond_p1) umin (true + %cond_p0))) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
436
436
; CHECK-NEXT: Determining loop execution counts for: @logical_and_2ops_and_constant
437
437
; CHECK-NEXT: Loop %loop: backedge-taken count is (42 umin %n)
438
438
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 42
@@ -574,7 +574,7 @@ define i32 @logical_and_implies_poison1(i32 %n) {
574
574
; CHECK-NEXT: %i.next = add i32 %i, 1
575
575
; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((1 + %n) umin %n)) LoopDispositions: { %loop: Computable }
576
576
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
577
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
577
+ ; CHECK-NEXT: --> (%cond_p0 umin %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
578
578
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison1
579
579
; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + %n) umin %n)
580
580
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -607,7 +607,7 @@ define i32 @logical_and_implies_poison2(i32 %n) {
607
607
; CHECK-NEXT: %i.next = add i32 %i, 1
608
608
; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((1 + %n) umin %n)) LoopDispositions: { %loop: Computable }
609
609
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
610
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 ) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
610
+ ; CHECK-NEXT: --> (%cond_p1 umin %cond_p0 ) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
611
611
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison2
612
612
; CHECK-NEXT: Loop %loop: backedge-taken count is ((1 + %n) umin %n)
613
613
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -640,7 +640,7 @@ define i32 @logical_and_implies_poison3(i32 %n, i32 %m) {
640
640
; CHECK-NEXT: %i.next = add i32 %i, 1
641
641
; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n + %m) umin %n)) LoopDispositions: { %loop: Computable }
642
642
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
643
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 ) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
643
+ ; CHECK-NEXT: --> (%cond_p1 umin %cond_p0 ) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
644
644
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison3
645
645
; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin %n)
646
646
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -704,7 +704,7 @@ define i32 @logical_and_implies_poison_noundef(i32 %n, i32 noundef %m) {
704
704
; CHECK-NEXT: %i.next = add i32 %i, 1
705
705
; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin %m)) LoopDispositions: { %loop: Computable }
706
706
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
707
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
707
+ ; CHECK-NEXT: --> (%cond_p0 umin %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
708
708
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_noundef
709
709
; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin %m)
710
710
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -768,7 +768,7 @@ define i32 @logical_and_implies_poison_complex1(i32 %n, i32 %m) {
768
768
; CHECK-NEXT: %i.next = add i32 %i, 1
769
769
; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n + %m) umin (1 + %n + %m))) LoopDispositions: { %loop: Computable }
770
770
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
771
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
771
+ ; CHECK-NEXT: --> (%cond_p0 umin %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
772
772
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex1
773
773
; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin (1 + %n + %m))
774
774
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -804,7 +804,7 @@ define i32 @logical_and_implies_poison_complex2(i32 %n, i32 %m, i32 %l) {
804
804
; CHECK-NEXT: %i.next = add i32 %i, 1
805
805
; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + ((%n + %m) umin (%n + %m + %l))) LoopDispositions: { %loop: Computable }
806
806
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
807
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
807
+ ; CHECK-NEXT: --> (%cond_p0 umin %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
808
808
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_poison_complex2
809
809
; CHECK-NEXT: Loop %loop: backedge-taken count is ((%n + %m) umin (%n + %m + %l))
810
810
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -874,9 +874,9 @@ define i32 @logical_and_implies_multiple_ops(i32 %n, i32 %m) {
874
874
; CHECK-NEXT: %i.next = add i32 %i, 1
875
875
; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (((1 + %n) umin %n) umin_seq %m)) LoopDispositions: { %loop: Computable }
876
876
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
877
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
877
+ ; CHECK-NEXT: --> (%cond_p0 umin %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
878
878
; CHECK-NEXT: %cond2 = select i1 %cond, i1 %cond_p2, i1 false
879
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 umin_seq %cond_p2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
879
+ ; CHECK-NEXT: --> (( %cond_p0 umin %cond_p1) umin_seq %cond_p2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
880
880
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops
881
881
; CHECK-NEXT: Loop %loop: backedge-taken count is (((1 + %n) umin %n) umin_seq %m)
882
882
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
@@ -907,18 +907,18 @@ define i32 @logical_and_implies_multiple_ops2(i32 %n, i32 %m) {
907
907
; CHECK-NEXT: %add = add i32 %n, 1
908
908
; CHECK-NEXT: --> (1 + %n) U: full-set S: full-set
909
909
; CHECK-NEXT: %i = phi i32 [ 0, %entry ], [ %i.next, %loop ]
910
- ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq %m umin_seq ( 1 + %n)) LoopDispositions: { %loop: Computable }
910
+ ; CHECK-NEXT: --> {0,+,1}<%loop> U: full-set S: full-set Exits: (%n umin_seq (( 1 + %n) umin %m )) LoopDispositions: { %loop: Computable }
911
911
; CHECK-NEXT: %i.next = add i32 %i, 1
912
- ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq %m umin_seq ( 1 + %n))) LoopDispositions: { %loop: Computable }
912
+ ; CHECK-NEXT: --> {1,+,1}<%loop> U: full-set S: full-set Exits: (1 + (%n umin_seq (( 1 + %n) umin %m ))) LoopDispositions: { %loop: Computable }
913
913
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
914
914
; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
915
915
; CHECK-NEXT: %cond2 = select i1 %cond, i1 %cond_p2, i1 false
916
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 umin_seq %cond_p2) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
916
+ ; CHECK-NEXT: --> (%cond_p0 umin_seq ( %cond_p1 umin %cond_p2) ) U: full-set S: full-set Exits: <<Unknown>> LoopDispositions: { %loop: Variant }
917
917
; CHECK-NEXT: Determining loop execution counts for: @logical_and_implies_multiple_ops2
918
- ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq %m umin_seq ( 1 + %n))
918
+ ; CHECK-NEXT: Loop %loop: backedge-taken count is (%n umin_seq (( 1 + %n) umin %m ))
919
919
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is -1
920
- ; CHECK-NEXT: Loop %loop: symbolic max backedge-taken count is (%n umin_seq %m umin_seq ( 1 + %n))
921
- ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq %m umin_seq ( 1 + %n))
920
+ ; CHECK-NEXT: Loop %loop: symbolic max backedge-taken count is (%n umin_seq (( 1 + %n) umin %m ))
921
+ ; CHECK-NEXT: Loop %loop: Predicated backedge-taken count is (%n umin_seq (( 1 + %n) umin %m ))
922
922
; CHECK-NEXT: Predicates:
923
923
; CHECK: Loop %loop: Trip multiple is 1
924
924
;
@@ -1352,7 +1352,7 @@ define i32 @logical_and_zero_arg2(i32 %n) {
1352
1352
; CHECK-NEXT: %i.next = add i32 %i, 1
1353
1353
; CHECK-NEXT: --> {1,+,1}<%loop> U: [1,2) S: [1,2) Exits: 1 LoopDispositions: { %loop: Computable }
1354
1354
; CHECK-NEXT: %cond = select i1 %cond_p0, i1 %cond_p1, i1 false
1355
- ; CHECK-NEXT: --> (%cond_p0 umin_seq %cond_p1 ) U: full-set S: full-set Exits: false LoopDispositions: { %loop: Variant }
1355
+ ; CHECK-NEXT: --> (%cond_p1 umin %cond_p0 ) U: full-set S: full-set Exits: false LoopDispositions: { %loop: Variant }
1356
1356
; CHECK-NEXT: Determining loop execution counts for: @logical_and_zero_arg2
1357
1357
; CHECK-NEXT: Loop %loop: backedge-taken count is 0
1358
1358
; CHECK-NEXT: Loop %loop: constant max backedge-taken count is 0
0 commit comments