@@ -11,9 +11,11 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
11
11
12
12
; CHECK-LABEL: LV: Checking a loop in "sink1"
13
13
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
14
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
15
+ ; CHECK-EMPTY:
14
16
; CHECK-NEXT: loop:
15
17
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
16
- ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<%0 >
18
+ ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
17
19
; CHECK-NEXT: Successor(s): loop.0
18
20
19
21
; CHECK: loop.0:
69
71
70
72
; CHECK-LABEL: LV: Checking a loop in "sink2"
71
73
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
74
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
75
+ ; CHECK-EMPTY:
72
76
; CHECK-NEXT: loop:
73
77
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
74
- ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<%0 >
78
+ ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
75
79
; CHECK-NEXT: Successor(s): pred.load
76
80
77
81
; CHECK: <xVFxUF> pred.load: {
@@ -140,9 +144,11 @@ exit:
140
144
141
145
; CHECK-LABEL: LV: Checking a loop in "sink3"
142
146
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
147
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
148
+ ; CHECK-EMPTY:
143
149
; CHECK-NEXT: loop:
144
150
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
145
- ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<%0 >
151
+ ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
146
152
; CHECK-NEXT: Successor(s): pred.load
147
153
148
154
; CHECK: <xVFxUF> pred.load: {
@@ -213,10 +219,12 @@ exit:
213
219
define void @uniform_gep (i64 %k , i16* noalias %A , i16* noalias %B ) {
214
220
; CHECK-LABEL: LV: Checking a loop in "uniform_gep"
215
221
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
222
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
223
+ ; CHECK-EMPTY:
216
224
; CHECK-NEXT: loop:
217
225
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 21, %iv.next
218
226
; CHECK-NEXT: EMIT vp<[[CAN_IV:%.+]]> = WIDEN-CANONICAL-INDUCTION
219
- ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule vp<[[CAN_IV]]> vp<%0 >
227
+ ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule vp<[[CAN_IV]]> vp<[[BTC]] >
220
228
; CHECK-NEXT: CLONE ir<%gep.A.uniform> = getelementptr ir<%A>, ir<0>
221
229
; CHECK-NEXT: Successor(s): pred.load
222
230
; CHECK-EMPTY:
@@ -295,14 +303,16 @@ exit:
295
303
define void @pred_cfg1 (i32 %k , i32 %j ) {
296
304
; CHECK-LABEL: LV: Checking a loop in "pred_cfg1"
297
305
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
306
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
307
+ ; CHECK-EMPTY:
298
308
; CHECK-NEXT: loop:
299
309
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
300
310
; CHECK-NEXT: WIDEN ir<%c.1> = icmp ir<%iv>, ir<%j>
301
311
; CHECK-NEXT: WIDEN ir<%mul> = mul ir<%iv>, ir<10>
302
312
; CHECK-NEXT: Successor(s): then.0
303
313
; CHECK-EMPTY:
304
314
; CHECK-NEXT: then.0:
305
- ; CHECK-NEXT: EMIT vp<[[MASK1:%.+]]> = icmp ule ir<%iv> vp<%0 >
315
+ ; CHECK-NEXT: EMIT vp<[[MASK1:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
306
316
; CHECK-NEXT: EMIT vp<[[MASK2:%.+]]> = select vp<[[MASK1]]> ir<%c.1> ir<false>
307
317
; CHECK-NEXT: Successor(s): pred.load
308
318
; CHECK-EMPTY:
@@ -388,6 +398,8 @@ exit:
388
398
define void @pred_cfg2 (i32 %k , i32 %j ) {
389
399
; CHECK-LABEL: LV: Checking a loop in "pred_cfg2"
390
400
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
401
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
402
+ ; CHECK-EMPTY:
391
403
; CHECK-NEXT: loop:
392
404
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
393
405
; CHECK-NEXT: WIDEN ir<%mul> = mul ir<%iv>, ir<10>
@@ -396,7 +408,7 @@ define void @pred_cfg2(i32 %k, i32 %j) {
396
408
; CHECK-NEXT: Successor(s): then.0
397
409
; CHECK-EMPTY:
398
410
; CHECK-NEXT: then.0:
399
- ; CHECK-NEXT: EMIT vp<[[MASK1:%.+]]> = icmp ule ir<%iv> vp<%0 >
411
+ ; CHECK-NEXT: EMIT vp<[[MASK1:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
400
412
; CHECK-NEXT: EMIT vp<[[MASK2:%.+]]> = select vp<[[MASK1]]> ir<%c.0> ir<false>
401
413
; CHECK-NEXT: Successor(s): pred.load
402
414
; CHECK-EMPTY:
@@ -496,14 +508,16 @@ exit:
496
508
define void @pred_cfg3 (i32 %k , i32 %j ) {
497
509
; CHECK-LABEL: LV: Checking a loop in "pred_cfg3"
498
510
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
511
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
512
+ ; CHECK-EMPTY:
499
513
; CHECK-NEXT: loop:
500
514
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
501
515
; CHECK-NEXT: WIDEN ir<%mul> = mul ir<%iv>, ir<10>
502
516
; CHECK-NEXT: WIDEN ir<%c.0> = icmp ir<%iv>, ir<%j>
503
517
; CHECK-NEXT: Successor(s): then.0
504
518
; CHECK-EMPTY:
505
519
; CHECK-NEXT: then.0:
506
- ; CHECK-NEXT: EMIT vp<[[MASK1:%.+]]> = icmp ule ir<%iv> vp<%0 >
520
+ ; CHECK-NEXT: EMIT vp<[[MASK1:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
507
521
; CHECK-NEXT: EMIT vp<[[MASK2:%.+]]> = select vp<[[MASK1:%.+]]> ir<%c.0> ir<false>
508
522
; CHECK-NEXT: Successor(s): pred.load
509
523
; CHECK-EMPTY:
@@ -598,9 +612,11 @@ exit:
598
612
define void @merge_3_replicate_region (i32 %k , i32 %j ) {
599
613
; CHECK-LABEL: LV: Checking a loop in "merge_3_replicate_region"
600
614
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
615
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
616
+ ; CHECK-EMPTY:
601
617
; CHECK-NEXT: loop:
602
618
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
603
- ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<%0 >
619
+ ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
604
620
; CHECK-NEXT: REPLICATE ir<%gep.a> = getelementptr ir<@a>, ir<0>, ir<%iv>
605
621
; CHECK-NEXT: Successor(s): loop.0
606
622
; CHECK-EMPTY:
@@ -705,9 +721,11 @@ exit:
705
721
define void @update_2_uses_in_same_recipe_in_merged_block (i32 %k ) {
706
722
; CHECK-LABEL: LV: Checking a loop in "update_2_uses_in_same_recipe_in_merged_block"
707
723
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
724
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
725
+ ; CHECK-EMPTY:
708
726
; CHECK-NEXT: loop:
709
727
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
710
- ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<%0 >
728
+ ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
711
729
; CHECK-NEXT: REPLICATE ir<%gep.a> = getelementptr ir<@a>, ir<0>, ir<%iv>
712
730
; CHECK-NEXT: Successor(s): loop.0
713
731
; CHECK-EMPTY:
@@ -764,10 +782,12 @@ exit:
764
782
define void @recipe_in_merge_candidate_used_by_first_order_recurrence (i32 %k ) {
765
783
; CHECK-LABEL: LV: Checking a loop in "recipe_in_merge_candidate_used_by_first_order_recurrence"
766
784
; CHECK: VPlan 'Initial VPlan for VF={2},UF>=1' {
785
+ ; CHECK-NEXT: Live-in vp<[[BTC:%.+]]> = backedge-taken count
786
+ ; CHECK-EMPTY:
767
787
; CHECK-NEXT: loop:
768
788
; CHECK-NEXT: WIDEN-INDUCTION %iv = phi 0, %iv.next
769
789
; CHECK-NEXT: FIRST-ORDER-RECURRENCE-PHI ir<%for> = phi ir<0>, ir<%lv.a>
770
- ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<%0 >
790
+ ; CHECK-NEXT: EMIT vp<[[MASK:%.+]]> = icmp ule ir<%iv> vp<[[BTC]] >
771
791
; CHECK-NEXT: REPLICATE ir<%gep.a> = getelementptr ir<@a>, ir<0>, ir<%iv>
772
792
; CHECK-NEXT: Successor(s): pred.load
773
793
; CHECK-EMPTY:
0 commit comments