@@ -82,7 +82,7 @@ define i32 @cond_add(ptr %a, i64 %n, i32 %start) {
82
82
; IF-EVL-INLOOP-NEXT: br i1 true, label [[FOR_END:%.*]], label [[SCALAR_PH]]
83
83
; IF-EVL-INLOOP: scalar.ph:
84
84
; IF-EVL-INLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
85
- ; IF-EVL-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP22 ]], [[MIDDLE_BLOCK ]] ]
85
+ ; IF-EVL-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP22 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
86
86
; IF-EVL-INLOOP-NEXT: br label [[FOR_BODY:%.*]]
87
87
; IF-EVL-INLOOP: for.body:
88
88
; IF-EVL-INLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_BODY]] ]
@@ -129,12 +129,12 @@ define i32 @cond_add(ptr %a, i64 %n, i32 %start) {
129
129
; NO-VP-OUTLOOP-NEXT: [[TMP19:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
130
130
; NO-VP-OUTLOOP-NEXT: br i1 [[TMP19]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]
131
131
; NO-VP-OUTLOOP: middle.block:
132
- ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
133
132
; NO-VP-OUTLOOP-NEXT: [[TMP20:%.*]] = call i32 @llvm.vector.reduce.add.nxv4i32(<vscale x 4 x i32> [[TMP17]])
133
+ ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
134
134
; NO-VP-OUTLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
135
135
; NO-VP-OUTLOOP: scalar.ph:
136
136
; NO-VP-OUTLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
137
- ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP20 ]], [[MIDDLE_BLOCK ]] ]
137
+ ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP20 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
138
138
; NO-VP-OUTLOOP-NEXT: br label [[FOR_BODY:%.*]]
139
139
; NO-VP-OUTLOOP: for.body:
140
140
; NO-VP-OUTLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_BODY]] ]
@@ -185,7 +185,7 @@ define i32 @cond_add(ptr %a, i64 %n, i32 %start) {
185
185
; NO-VP-INLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
186
186
; NO-VP-INLOOP: scalar.ph:
187
187
; NO-VP-INLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
188
- ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP12 ]], [[MIDDLE_BLOCK ]] ]
188
+ ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP12 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
189
189
; NO-VP-INLOOP-NEXT: br label [[FOR_BODY:%.*]]
190
190
; NO-VP-INLOOP: for.body:
191
191
; NO-VP-INLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_BODY]] ]
@@ -295,7 +295,7 @@ define i32 @cond_add_pred(ptr %a, i64 %n, i32 %start) {
295
295
; IF-EVL-INLOOP-NEXT: br i1 true, label [[FOR_END:%.*]], label [[SCALAR_PH]]
296
296
; IF-EVL-INLOOP: scalar.ph:
297
297
; IF-EVL-INLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
298
- ; IF-EVL-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP22 ]], [[MIDDLE_BLOCK ]] ]
298
+ ; IF-EVL-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP22 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
299
299
; IF-EVL-INLOOP-NEXT: br label [[FOR_BODY:%.*]]
300
300
; IF-EVL-INLOOP: for.body:
301
301
; IF-EVL-INLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_INC:%.*]] ]
@@ -347,12 +347,12 @@ define i32 @cond_add_pred(ptr %a, i64 %n, i32 %start) {
347
347
; NO-VP-OUTLOOP-NEXT: [[TMP20:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
348
348
; NO-VP-OUTLOOP-NEXT: br i1 [[TMP20]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP4:![0-9]+]]
349
349
; NO-VP-OUTLOOP: middle.block:
350
- ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
351
350
; NO-VP-OUTLOOP-NEXT: [[TMP14:%.*]] = call i32 @llvm.vector.reduce.add.nxv4i32(<vscale x 4 x i32> [[PREDPHI]])
351
+ ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
352
352
; NO-VP-OUTLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
353
353
; NO-VP-OUTLOOP: scalar.ph:
354
354
; NO-VP-OUTLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
355
- ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP14 ]], [[MIDDLE_BLOCK ]] ]
355
+ ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP14 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
356
356
; NO-VP-OUTLOOP-NEXT: br label [[FOR_BODY:%.*]]
357
357
; NO-VP-OUTLOOP: for.body:
358
358
; NO-VP-OUTLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_INC:%.*]] ]
@@ -407,7 +407,7 @@ define i32 @cond_add_pred(ptr %a, i64 %n, i32 %start) {
407
407
; NO-VP-INLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
408
408
; NO-VP-INLOOP: scalar.ph:
409
409
; NO-VP-INLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
410
- ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP12 ]], [[MIDDLE_BLOCK ]] ]
410
+ ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP12 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
411
411
; NO-VP-INLOOP-NEXT: br label [[FOR_BODY:%.*]]
412
412
; NO-VP-INLOOP: for.body:
413
413
; NO-VP-INLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_INC:%.*]] ]
@@ -535,12 +535,12 @@ define i32 @step_cond_add(ptr %a, i64 %n, i32 %start) {
535
535
; NO-VP-OUTLOOP-NEXT: [[TMP25:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
536
536
; NO-VP-OUTLOOP-NEXT: br i1 [[TMP25]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP6:![0-9]+]]
537
537
; NO-VP-OUTLOOP: middle.block:
538
- ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
539
538
; NO-VP-OUTLOOP-NEXT: [[TMP26:%.*]] = call i32 @llvm.vector.reduce.add.nxv4i32(<vscale x 4 x i32> [[TMP23]])
539
+ ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
540
540
; NO-VP-OUTLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
541
541
; NO-VP-OUTLOOP: scalar.ph:
542
542
; NO-VP-OUTLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
543
- ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP26 ]], [[MIDDLE_BLOCK ]] ]
543
+ ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP26 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
544
544
; NO-VP-OUTLOOP-NEXT: br label [[FOR_BODY:%.*]]
545
545
; NO-VP-OUTLOOP: for.body:
546
546
; NO-VP-OUTLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_BODY]] ]
@@ -603,7 +603,7 @@ define i32 @step_cond_add(ptr %a, i64 %n, i32 %start) {
603
603
; NO-VP-INLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
604
604
; NO-VP-INLOOP: scalar.ph:
605
605
; NO-VP-INLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
606
- ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP18 ]], [[MIDDLE_BLOCK ]] ]
606
+ ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP18 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
607
607
; NO-VP-INLOOP-NEXT: br label [[FOR_BODY:%.*]]
608
608
; NO-VP-INLOOP: for.body:
609
609
; NO-VP-INLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_BODY]] ]
@@ -732,12 +732,12 @@ define i32 @step_cond_add_pred(ptr %a, i64 %n, i32 %start) {
732
732
; NO-VP-OUTLOOP-NEXT: [[TMP26:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
733
733
; NO-VP-OUTLOOP-NEXT: br i1 [[TMP26]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP8:![0-9]+]]
734
734
; NO-VP-OUTLOOP: middle.block:
735
- ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
736
735
; NO-VP-OUTLOOP-NEXT: [[TMP20:%.*]] = call i32 @llvm.vector.reduce.add.nxv4i32(<vscale x 4 x i32> [[PREDPHI]])
736
+ ; NO-VP-OUTLOOP-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[N]], [[N_VEC]]
737
737
; NO-VP-OUTLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
738
738
; NO-VP-OUTLOOP: scalar.ph:
739
739
; NO-VP-OUTLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
740
- ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP20 ]], [[MIDDLE_BLOCK ]] ]
740
+ ; NO-VP-OUTLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP20 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
741
741
; NO-VP-OUTLOOP-NEXT: br label [[FOR_BODY:%.*]]
742
742
; NO-VP-OUTLOOP: for.body:
743
743
; NO-VP-OUTLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_INC:%.*]] ]
@@ -804,7 +804,7 @@ define i32 @step_cond_add_pred(ptr %a, i64 %n, i32 %start) {
804
804
; NO-VP-INLOOP-NEXT: br i1 [[CMP_N]], label [[FOR_END:%.*]], label [[SCALAR_PH]]
805
805
; NO-VP-INLOOP: scalar.ph:
806
806
; NO-VP-INLOOP-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[MIDDLE_BLOCK]] ], [ 0, [[ENTRY:%.*]] ]
807
- ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[START ]], [[ENTRY ]] ], [ [[TMP18 ]], [[MIDDLE_BLOCK ]] ]
807
+ ; NO-VP-INLOOP-NEXT: [[BC_MERGE_RDX:%.*]] = phi i32 [ [[TMP18 ]], [[MIDDLE_BLOCK ]] ], [ [[START ]], [[ENTRY ]] ]
808
808
; NO-VP-INLOOP-NEXT: br label [[FOR_BODY:%.*]]
809
809
; NO-VP-INLOOP: for.body:
810
810
; NO-VP-INLOOP-NEXT: [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], [[SCALAR_PH]] ], [ [[IV_NEXT:%.*]], [[FOR_INC:%.*]] ]
0 commit comments