Skip to content

Commit 66c8d73

Browse files
committed
!fixup update remaining tests.
1 parent c5e6bee commit 66c8d73

19 files changed

+209
-330
lines changed

llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1873,12 +1873,9 @@ void VPlanTransforms::removeBranchOnConst(VPlan &Plan) {
18731873
"There must be a single edge between VPBB and its successor");
18741874
// Values coming from VPBB into phi recipes of RemoveSucc are removed from
18751875
// these recipes.
1876-
for (VPRecipeBase &R : RemovedSucc->phis()) {
1877-
auto *Phi = cast<VPPhiAccessors>(&R);
1878-
assert((!isa<VPIRPhi>(&R) || RemovedSucc->getNumPredecessors() == 1) &&
1879-
"VPIRPhis must have a single predecessor");
1880-
Phi->removeIncomingValueFor(VPBB);
1881-
}
1876+
for (VPRecipeBase &R : RemovedSucc->phis())
1877+
cast<VPPhiAccessors>(&R)->removeIncomingValueFor(VPBB);
1878+
18821879
// Disconnect blocks and remove the terminator. RemovedSucc will be deleted
18831880
// automatically on VPlan destruction if it becomes unreachable.
18841881
VPBlockUtils::disconnectBlocks(VPBB, RemovedSucc);

llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ define void @_Z3foov() {
3636
; CHECK-V2-IC1: [[VECTOR_BODY]]:
3737
; CHECK-V2-IC1: br i1 [[TMP4:%.*]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !prof [[PROF1:![0-9]+]], !llvm.loop [[LOOP2:![0-9]+]]
3838
; CHECK-V2-IC1: [[MIDDLE_BLOCK]]:
39-
; CHECK-V2-IC1: br i1 true, label %[[FOR_COND_CLEANUP:.*]], label %[[SCALAR_PH]], !prof [[PROF5:![0-9]+]]
39+
; CHECK-V2-IC1: br label %[[FOR_COND_CLEANUP:.*]]
4040
; CHECK-V2-IC1: [[SCALAR_PH]]:
4141
; CHECK-V2-IC1: br label %[[FOR_BODY:.*]]
4242
; CHECK-V2-IC1: [[FOR_BODY]]:
43-
; CHECK-V2-IC1: br i1 [[EXITCOND:%.*]], label %[[FOR_COND_CLEANUP]], label %[[FOR_BODY]], !prof [[PROF6:![0-9]+]], !llvm.loop [[LOOP7:![0-9]+]]
43+
; CHECK-V2-IC1: br i1 [[EXITCOND:%.*]], label %[[FOR_COND_CLEANUP]], label %[[FOR_BODY]], !prof [[PROF5:![0-9]+]], !llvm.loop [[LOOP6:![0-9]+]]
4444
; CHECK-V2-IC1: [[FOR_COND_CLEANUP]]:
4545
;
4646
; CHECK-V2-IC4-LABEL: define void @_Z3foov(
@@ -101,9 +101,8 @@ for.cond.cleanup: ; preds = %for.body
101101
; CHECK-V2-IC1: [[LOOP2]] = distinct !{[[LOOP2]], [[META3:![0-9]+]], [[META4:![0-9]+]]}
102102
; CHECK-V2-IC1: [[META3]] = !{!"llvm.loop.isvectorized", i32 1}
103103
; CHECK-V2-IC1: [[META4]] = !{!"llvm.loop.unroll.runtime.disable"}
104-
; CHECK-V2-IC1: [[PROF5]] = !{!"branch_weights", i32 1, i32 3}
105-
; CHECK-V2-IC1: [[PROF6]] = !{!"branch_weights", i32 0, i32 0}
106-
; CHECK-V2-IC1: [[LOOP7]] = distinct !{[[LOOP7]], [[META4]], [[META3]]}
104+
; CHECK-V2-IC1: [[PROF5]] = !{!"branch_weights", i32 0, i32 0}
105+
; CHECK-V2-IC1: [[LOOP6]] = distinct !{[[LOOP6]], [[META4]], [[META3]]}
107106
;.
108107
; CHECK-V2-IC4: [[PROF0]] = !{!"branch_weights", i32 1, i32 127}
109108
; CHECK-V2-IC4: [[PROF1]] = !{!"branch_weights", i32 1, i32 63}

llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ define i32 @not_dotp_not_phi(ptr %a, ptr noalias %b, ptr noalias %c) {
614614
; CHECK-INTERLEAVE1-NEXT: [[TMP9:%.*]] = icmp eq i64 [[INDEX_NEXT]], 1024
615615
; CHECK-INTERLEAVE1-NEXT: br i1 [[TMP9]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP8:![0-9]+]]
616616
; CHECK-INTERLEAVE1: middle.block:
617-
; CHECK-INTERLEAVE1-NEXT: [[VECTOR_RECUR_EXTRACT:%.*]] = extractelement <16 x i32> [[TMP8]], i32 15
617+
; CHECK-INTERLEAVE1-NEXT: [[TMP12:%.*]] = extractelement <16 x i32> [[TMP7]], i32 15
618618
; CHECK-INTERLEAVE1-NEXT: br label [[FOR_EXIT:%.*]]
619619
; CHECK-INTERLEAVE1: scalar.ph:
620620
;
@@ -645,7 +645,7 @@ define i32 @not_dotp_not_phi(ptr %a, ptr noalias %b, ptr noalias %c) {
645645
; CHECK-INTERLEAVED-NEXT: [[TMP9:%.*]] = icmp eq i64 [[INDEX_NEXT]], 1024
646646
; CHECK-INTERLEAVED-NEXT: br i1 [[TMP9]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP8:![0-9]+]]
647647
; CHECK-INTERLEAVED: middle.block:
648-
; CHECK-INTERLEAVED-NEXT: [[VECTOR_RECUR_EXTRACT:%.*]] = extractelement <16 x i32> [[TMP8]], i32 15
648+
; CHECK-INTERLEAVED-NEXT: [[TMP12:%.*]] = extractelement <16 x i32> [[TMP7]], i32 15
649649
; CHECK-INTERLEAVED-NEXT: br label [[FOR_EXIT:%.*]]
650650
; CHECK-INTERLEAVED: scalar.ph:
651651
;
@@ -676,7 +676,7 @@ define i32 @not_dotp_not_phi(ptr %a, ptr noalias %b, ptr noalias %c) {
676676
; CHECK-MAXBW-NEXT: [[TMP9:%.*]] = icmp eq i64 [[INDEX_NEXT]], 1024
677677
; CHECK-MAXBW-NEXT: br i1 [[TMP9]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP8:![0-9]+]]
678678
; CHECK-MAXBW: middle.block:
679-
; CHECK-MAXBW-NEXT: [[VECTOR_RECUR_EXTRACT:%.*]] = extractelement <16 x i32> [[TMP8]], i32 15
679+
; CHECK-MAXBW-NEXT: [[TMP12:%.*]] = extractelement <16 x i32> [[TMP7]], i32 15
680680
; CHECK-MAXBW-NEXT: br label [[FOR_EXIT:%.*]]
681681
; CHECK-MAXBW: scalar.ph:
682682
;

llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -955,7 +955,7 @@ define double @reduction_increment_by_first_order_recurrence() {
955955
; CHECK-UNORDERED: middle.block:
956956
; CHECK-UNORDERED: [[RDX:%.*]] = call double @llvm.vector.reduce.fadd.v4f64(double -0.000000e+00, <4 x double> [[RED_NEXT]])
957957
; CHECK-UNORDERED: scalar.ph:
958-
; CHECK-UNORDERED: [[BC_MERGE_RDX:%.*]] = phi double [ 0.000000e+00, %entry ]
958+
; CHECK-UNORDERED: [[BC_MERGE_RDX:%.*]] = phi double [ [[RDX]], %middle.block ], [ 0.000000e+00, %entry ]
959959
;
960960
; CHECK-NOT-VECTORIZED-LABEL: @reduction_increment_by_first_order_recurrence(
961961
; CHECK-NOT-VECTORIZED-NOT: vector.body
@@ -970,7 +970,7 @@ loop:
970970
%red.next = fadd double %for, %red
971971
%for.next = sitofp i32 %iv to double
972972
%iv.next = add nsw i32 %iv, 1
973-
%ec = icmp eq i32 %iv.next, 1024
973+
%ec = icmp eq i32 %iv.next, 1025
974974
br i1 %ec, label %exit, label %loop, !llvm.loop !13
975975

976976
exit:

llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,14 @@ define i64 @pr97452_scalable_vf1_for(ptr %src, ptr noalias %dst) #0 {
3434
; CHECK-NEXT: [[TMP10:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
3535
; CHECK-NEXT: br i1 [[TMP10]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]
3636
; CHECK: [[MIDDLE_BLOCK]]:
37-
; CHECK-NEXT: [[VECTOR_RECUR_EXTRACT:%.*]] = extractelement <4 x i64> [[WIDE_LOAD1]], i32 3
38-
; CHECK-NEXT: br label %[[SCALAR_PH]]
37+
; CHECK-NEXT: [[TMP11:%.*]] = call i32 @llvm.vscale.i32()
38+
; CHECK-NEXT: [[TMP12:%.*]] = sub i32 [[TMP11]], 1
39+
; CHECK-NEXT: [[TMP13:%.*]] = extractelement <vscale x 1 x i64> [[TMP7]], i32 [[TMP12]]
40+
; CHECK-NEXT: [[TMP14:%.*]] = call i32 @llvm.vscale.i32()
41+
; CHECK-NEXT: [[TMP15:%.*]] = sub i32 [[TMP14]], 1
42+
; CHECK-NEXT: [[VECTOR_RECUR_EXTRACT:%.*]] = extractelement <vscale x 1 x i64> [[WIDE_LOAD]], i32 [[TMP15]]
43+
; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i64 23, [[N_VEC]]
44+
; CHECK-NEXT: br i1 [[CMP_N]], label %[[EXIT:.*]], label %[[SCALAR_PH]]
3945
; CHECK: [[SCALAR_PH]]:
4046
; CHECK-NEXT: [[SCALAR_RECUR_INIT:%.*]] = phi i64 [ [[VECTOR_RECUR_EXTRACT]], %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ]
4147
; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ]
@@ -49,13 +55,9 @@ define i64 @pr97452_scalable_vf1_for(ptr %src, ptr noalias %dst) #0 {
4955
; CHECK-NEXT: [[GEP_DST:%.*]] = getelementptr inbounds i64, ptr [[DST]], i64 [[IV]]
5056
; CHECK-NEXT: store i64 [[FOR]], ptr [[GEP_DST]], align 8
5157
; CHECK-NEXT: [[EC:%.*]] = icmp eq i64 [[IV]], 22
52-
; CHECK-NEXT: br i1 [[EC]], label %[[EXIT:.*]], label %[[LOOP]], !llvm.loop [[LOOP3:![0-9]+]]
58+
; CHECK-NEXT: br i1 [[EC]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP3:![0-9]+]]
5359
; CHECK: [[EXIT]]:
54-
<<<<<<< HEAD
55-
; CHECK-NEXT: [[RES:%.*]] = phi i64 [ [[FOR]], %[[LOOP]] ]
56-
=======
5760
; CHECK-NEXT: [[RES:%.*]] = phi i64 [ [[FOR]], %[[LOOP]] ], [ [[TMP13]], %[[MIDDLE_BLOCK]] ]
58-
>>>>>>> origin/main
5961
; CHECK-NEXT: ret i64 [[RES]]
6062
;
6163
entry:

llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll

Lines changed: 4 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -388,44 +388,6 @@ define i32 @vqdotsu(ptr %a, ptr %b) #0 {
388388
; V-NEXT: br i1 [[CMP_N]], label [[FOR_EXIT:%.*]], label [[SCALAR_PH]]
389389
; V: scalar.ph:
390390
;
391-
<<<<<<< HEAD
392-
; FIXED-LABEL: define i32 @vqdotsu(
393-
; FIXED-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0:[0-9]+]] {
394-
; FIXED-NEXT: entry:
395-
; FIXED-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
396-
; FIXED: vector.ph:
397-
; FIXED-NEXT: br label [[VECTOR_BODY:%.*]]
398-
; FIXED: vector.body:
399-
; FIXED-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
400-
; FIXED-NEXT: [[VEC_PHI:%.*]] = phi <8 x i32> [ zeroinitializer, [[VECTOR_PH]] ], [ [[TMP12:%.*]], [[VECTOR_BODY]] ]
401-
; FIXED-NEXT: [[VEC_PHI1:%.*]] = phi <8 x i32> [ zeroinitializer, [[VECTOR_PH]] ], [ [[TMP13:%.*]], [[VECTOR_BODY]] ]
402-
; FIXED-NEXT: [[TMP0:%.*]] = getelementptr i8, ptr [[A]], i64 [[INDEX]]
403-
; FIXED-NEXT: [[TMP1:%.*]] = getelementptr i8, ptr [[TMP0]], i32 0
404-
; FIXED-NEXT: [[TMP2:%.*]] = getelementptr i8, ptr [[TMP0]], i32 8
405-
; FIXED-NEXT: [[WIDE_LOAD:%.*]] = load <8 x i8>, ptr [[TMP1]], align 1
406-
; FIXED-NEXT: [[WIDE_LOAD2:%.*]] = load <8 x i8>, ptr [[TMP2]], align 1
407-
; FIXED-NEXT: [[TMP3:%.*]] = zext <8 x i8> [[WIDE_LOAD]] to <8 x i32>
408-
; FIXED-NEXT: [[TMP4:%.*]] = zext <8 x i8> [[WIDE_LOAD2]] to <8 x i32>
409-
; FIXED-NEXT: [[TMP5:%.*]] = getelementptr i8, ptr [[B]], i64 [[INDEX]]
410-
; FIXED-NEXT: [[TMP6:%.*]] = getelementptr i8, ptr [[TMP5]], i32 0
411-
; FIXED-NEXT: [[TMP7:%.*]] = getelementptr i8, ptr [[TMP5]], i32 8
412-
; FIXED-NEXT: [[WIDE_LOAD3:%.*]] = load <8 x i8>, ptr [[TMP6]], align 1
413-
; FIXED-NEXT: [[WIDE_LOAD4:%.*]] = load <8 x i8>, ptr [[TMP7]], align 1
414-
; FIXED-NEXT: [[TMP8:%.*]] = sext <8 x i8> [[WIDE_LOAD3]] to <8 x i32>
415-
; FIXED-NEXT: [[TMP9:%.*]] = sext <8 x i8> [[WIDE_LOAD4]] to <8 x i32>
416-
; FIXED-NEXT: [[TMP10:%.*]] = mul <8 x i32> [[TMP8]], [[TMP3]]
417-
; FIXED-NEXT: [[TMP11:%.*]] = mul <8 x i32> [[TMP9]], [[TMP4]]
418-
; FIXED-NEXT: [[TMP12]] = add <8 x i32> [[TMP10]], [[VEC_PHI]]
419-
; FIXED-NEXT: [[TMP13]] = add <8 x i32> [[TMP11]], [[VEC_PHI1]]
420-
; FIXED-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 16
421-
; FIXED-NEXT: [[TMP14:%.*]] = icmp eq i64 [[INDEX_NEXT]], 1024
422-
; FIXED-NEXT: br i1 [[TMP14]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP6:![0-9]+]]
423-
; FIXED: middle.block:
424-
; FIXED-NEXT: [[BIN_RDX:%.*]] = add <8 x i32> [[TMP13]], [[TMP12]]
425-
; FIXED-NEXT: [[TMP15:%.*]] = call i32 @llvm.vector.reduce.add.v8i32(<8 x i32> [[BIN_RDX]])
426-
; FIXED-NEXT: br label [[FOR_EXIT:%.*]]
427-
; FIXED: scalar.ph:
428-
=======
429391
; ZVQDOTQ-LABEL: define i32 @vqdotsu(
430392
; ZVQDOTQ-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
431393
; ZVQDOTQ-NEXT: entry:
@@ -497,7 +459,7 @@ define i32 @vqdotsu(ptr %a, ptr %b) #0 {
497459
; FIXED-V: middle.block:
498460
; FIXED-V-NEXT: [[BIN_RDX:%.*]] = add <8 x i32> [[TMP13]], [[TMP12]]
499461
; FIXED-V-NEXT: [[TMP15:%.*]] = call i32 @llvm.vector.reduce.add.v8i32(<8 x i32> [[BIN_RDX]])
500-
; FIXED-V-NEXT: br i1 true, label [[FOR_EXIT:%.*]], label [[SCALAR_PH]]
462+
; FIXED-V-NEXT: br label [[FOR_EXIT:%.*]]
501463
; FIXED-V: scalar.ph:
502464
;
503465
; FIXED-ZVQDOTQ-LABEL: define i32 @vqdotsu(
@@ -534,9 +496,8 @@ define i32 @vqdotsu(ptr %a, ptr %b) #0 {
534496
; FIXED-ZVQDOTQ: middle.block:
535497
; FIXED-ZVQDOTQ-NEXT: [[BIN_RDX:%.*]] = add <2 x i32> [[PARTIAL_REDUCE5]], [[PARTIAL_REDUCE]]
536498
; FIXED-ZVQDOTQ-NEXT: [[TMP13:%.*]] = call i32 @llvm.vector.reduce.add.v2i32(<2 x i32> [[BIN_RDX]])
537-
; FIXED-ZVQDOTQ-NEXT: br i1 true, label [[FOR_EXIT:%.*]], label [[SCALAR_PH]]
499+
; FIXED-ZVQDOTQ-NEXT: br label [[FOR_EXIT:%.*]]
538500
; FIXED-ZVQDOTQ: scalar.ph:
539-
>>>>>>> origin/main
540501
;
541502
entry:
542503
br label %for.body
@@ -598,44 +559,6 @@ define i32 @vqdotsu2(ptr %a, ptr %b) #0 {
598559
; V-NEXT: br i1 [[CMP_N]], label [[FOR_EXIT:%.*]], label [[SCALAR_PH]]
599560
; V: scalar.ph:
600561
;
601-
<<<<<<< HEAD
602-
; FIXED-LABEL: define i32 @vqdotsu2(
603-
; FIXED-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
604-
; FIXED-NEXT: entry:
605-
; FIXED-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
606-
; FIXED: vector.ph:
607-
; FIXED-NEXT: br label [[VECTOR_BODY:%.*]]
608-
; FIXED: vector.body:
609-
; FIXED-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
610-
; FIXED-NEXT: [[VEC_PHI:%.*]] = phi <8 x i32> [ zeroinitializer, [[VECTOR_PH]] ], [ [[TMP12:%.*]], [[VECTOR_BODY]] ]
611-
; FIXED-NEXT: [[VEC_PHI1:%.*]] = phi <8 x i32> [ zeroinitializer, [[VECTOR_PH]] ], [ [[TMP13:%.*]], [[VECTOR_BODY]] ]
612-
; FIXED-NEXT: [[TMP0:%.*]] = getelementptr i8, ptr [[A]], i64 [[INDEX]]
613-
; FIXED-NEXT: [[TMP1:%.*]] = getelementptr i8, ptr [[TMP0]], i32 0
614-
; FIXED-NEXT: [[TMP2:%.*]] = getelementptr i8, ptr [[TMP0]], i32 8
615-
; FIXED-NEXT: [[WIDE_LOAD:%.*]] = load <8 x i8>, ptr [[TMP1]], align 1
616-
; FIXED-NEXT: [[WIDE_LOAD2:%.*]] = load <8 x i8>, ptr [[TMP2]], align 1
617-
; FIXED-NEXT: [[TMP3:%.*]] = sext <8 x i8> [[WIDE_LOAD]] to <8 x i32>
618-
; FIXED-NEXT: [[TMP4:%.*]] = sext <8 x i8> [[WIDE_LOAD2]] to <8 x i32>
619-
; FIXED-NEXT: [[TMP5:%.*]] = getelementptr i8, ptr [[B]], i64 [[INDEX]]
620-
; FIXED-NEXT: [[TMP6:%.*]] = getelementptr i8, ptr [[TMP5]], i32 0
621-
; FIXED-NEXT: [[TMP7:%.*]] = getelementptr i8, ptr [[TMP5]], i32 8
622-
; FIXED-NEXT: [[WIDE_LOAD3:%.*]] = load <8 x i8>, ptr [[TMP6]], align 1
623-
; FIXED-NEXT: [[WIDE_LOAD4:%.*]] = load <8 x i8>, ptr [[TMP7]], align 1
624-
; FIXED-NEXT: [[TMP8:%.*]] = zext <8 x i8> [[WIDE_LOAD3]] to <8 x i32>
625-
; FIXED-NEXT: [[TMP9:%.*]] = zext <8 x i8> [[WIDE_LOAD4]] to <8 x i32>
626-
; FIXED-NEXT: [[TMP10:%.*]] = mul <8 x i32> [[TMP8]], [[TMP3]]
627-
; FIXED-NEXT: [[TMP11:%.*]] = mul <8 x i32> [[TMP9]], [[TMP4]]
628-
; FIXED-NEXT: [[TMP12]] = add <8 x i32> [[TMP10]], [[VEC_PHI]]
629-
; FIXED-NEXT: [[TMP13]] = add <8 x i32> [[TMP11]], [[VEC_PHI1]]
630-
; FIXED-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 16
631-
; FIXED-NEXT: [[TMP14:%.*]] = icmp eq i64 [[INDEX_NEXT]], 1024
632-
; FIXED-NEXT: br i1 [[TMP14]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP8:![0-9]+]]
633-
; FIXED: middle.block:
634-
; FIXED-NEXT: [[BIN_RDX:%.*]] = add <8 x i32> [[TMP13]], [[TMP12]]
635-
; FIXED-NEXT: [[TMP15:%.*]] = call i32 @llvm.vector.reduce.add.v8i32(<8 x i32> [[BIN_RDX]])
636-
; FIXED-NEXT: br label [[FOR_EXIT:%.*]]
637-
; FIXED: scalar.ph:
638-
=======
639562
; ZVQDOTQ-LABEL: define i32 @vqdotsu2(
640563
; ZVQDOTQ-SAME: ptr [[A:%.*]], ptr [[B:%.*]]) #[[ATTR0]] {
641564
; ZVQDOTQ-NEXT: entry:
@@ -707,7 +630,7 @@ define i32 @vqdotsu2(ptr %a, ptr %b) #0 {
707630
; FIXED-V: middle.block:
708631
; FIXED-V-NEXT: [[BIN_RDX:%.*]] = add <8 x i32> [[TMP13]], [[TMP12]]
709632
; FIXED-V-NEXT: [[TMP15:%.*]] = call i32 @llvm.vector.reduce.add.v8i32(<8 x i32> [[BIN_RDX]])
710-
; FIXED-V-NEXT: br i1 true, label [[FOR_EXIT:%.*]], label [[SCALAR_PH]]
633+
; FIXED-V-NEXT: br label [[FOR_EXIT:%.*]]
711634
; FIXED-V: scalar.ph:
712635
;
713636
; FIXED-ZVQDOTQ-LABEL: define i32 @vqdotsu2(
@@ -744,9 +667,8 @@ define i32 @vqdotsu2(ptr %a, ptr %b) #0 {
744667
; FIXED-ZVQDOTQ: middle.block:
745668
; FIXED-ZVQDOTQ-NEXT: [[BIN_RDX:%.*]] = add <2 x i32> [[PARTIAL_REDUCE5]], [[PARTIAL_REDUCE]]
746669
; FIXED-ZVQDOTQ-NEXT: [[TMP13:%.*]] = call i32 @llvm.vector.reduce.add.v2i32(<2 x i32> [[BIN_RDX]])
747-
; FIXED-ZVQDOTQ-NEXT: br i1 true, label [[FOR_EXIT:%.*]], label [[SCALAR_PH]]
670+
; FIXED-ZVQDOTQ-NEXT: br label [[FOR_EXIT:%.*]]
748671
; FIXED-ZVQDOTQ: scalar.ph:
749-
>>>>>>> origin/main
750672
;
751673
entry:
752674
br label %for.body

llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ define void @vector_reverse_i64(ptr nocapture noundef writeonly %A, ptr nocaptur
187187
; CHECK-NEXT: LEV: Epilogue vectorization is not profitable for this loop
188188
; CHECK-NEXT: LV: Loop does not require scalar epilogue
189189
; CHECK-NEXT: LV: Loop does not require scalar epilogue
190+
; CHECK-NEXT: LV: Loop does not require scalar epilogue
190191
; CHECK-NEXT: Executing best plan with VF=vscale x 4, UF=1
191192
; CHECK-NEXT: VPlan 'Final VPlan for VF={vscale x 4},UF={1}' {
192193
; CHECK-NEXT: Live-in ir<%18> = VF
@@ -596,6 +597,7 @@ define void @vector_reverse_f32(ptr nocapture noundef writeonly %A, ptr nocaptur
596597
; CHECK-NEXT: LEV: Epilogue vectorization is not profitable for this loop
597598
; CHECK-NEXT: LV: Loop does not require scalar epilogue
598599
; CHECK-NEXT: LV: Loop does not require scalar epilogue
600+
; CHECK-NEXT: LV: Loop does not require scalar epilogue
599601
; CHECK-NEXT: Executing best plan with VF=vscale x 4, UF=1
600602
; CHECK-NEXT: VPlan 'Final VPlan for VF={vscale x 4},UF={1}' {
601603
; CHECK-NEXT: Live-in ir<%18> = VF

llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ define i8 @pr141968(i1 %cond, i8 %v) {
105105
; CHECK-NEXT: br i1 [[TMP17]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]
106106
; CHECK: [[MIDDLE_BLOCK]]:
107107
; CHECK-NEXT: [[TMP18:%.*]] = extractelement <16 x i8> [[PREDPHI]], i32 15
108-
; CHECK-NEXT: br i1 true, label %[[EXIT:.*]], label %[[SCALAR_PH]]
108+
; CHECK-NEXT: br label %[[EXIT:.*]]
109109
; CHECK: [[SCALAR_PH]]:
110-
; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i8 [ 0, %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ]
110+
; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i8 [ 0, %[[ENTRY]] ]
111111
; CHECK-NEXT: br label %[[LOOP_HEADER:.*]]
112112
; CHECK: [[LOOP_HEADER]]:
113113
; CHECK-NEXT: [[IV:%.*]] = phi i8 [ [[IV_NEXT:%.*]], %[[LOOP_LATCH:.*]] ], [ [[BC_RESUME_VAL]], %[[SCALAR_PH]] ]

0 commit comments

Comments
 (0)