Skip to content

Commit 93c5bae

Browse files
committed
[VPlan] Use printOperands for VPInstruction.
Use the printOperands for printing VPInstruction's operands to be more in line with other recipes and ensure consistent printing after D15719. Also removes some stray spaces in print output.
1 parent f9a609c commit 93c5bae

18 files changed

+147
-149
lines changed

llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -423,10 +423,10 @@ void VPInstruction::print(raw_ostream &O, const Twine &Indent,
423423
O << "first-order splice";
424424
break;
425425
case VPInstruction::CanonicalIVIncrement:
426-
O << "VF * UF + ";
426+
O << "VF * UF +";
427427
break;
428428
case VPInstruction::CanonicalIVIncrementNUW:
429-
O << "VF * UF +(nuw) ";
429+
O << "VF * UF +(nuw)";
430430
break;
431431
case VPInstruction::BranchOnCond:
432432
O << "branch-on-cond";
@@ -435,24 +435,22 @@ void VPInstruction::print(raw_ostream &O, const Twine &Indent,
435435
O << "TC > VF ? TC - VF : 0";
436436
break;
437437
case VPInstruction::CanonicalIVIncrementForPart:
438-
O << "VF * Part + ";
438+
O << "VF * Part +";
439439
break;
440440
case VPInstruction::CanonicalIVIncrementForPartNUW:
441-
O << "VF * Part +(nuw) ";
441+
O << "VF * Part +(nuw)";
442442
break;
443443
case VPInstruction::BranchOnCount:
444-
O << "branch-on-count ";
444+
O << "branch-on-count";
445445
break;
446446
default:
447447
O << Instruction::getOpcodeName(getOpcode());
448448
}
449449

450450
O << FMF;
451-
452-
for (const VPValue *Operand : operands()) {
451+
if (getNumOperands() > 0)
453452
O << " ";
454-
Operand->printAsOperand(O, SlotTracker);
455-
}
453+
printOperands(O, SlotTracker);
456454

457455
if (DL) {
458456
O << ", !dbg ";

llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ target triple = "aarch64-unknown-linux-gnu"
1717
; VPLANS-NEXT: No successors
1818
; VPLANS-EMPTY:
1919
; VPLANS-NEXT: vector.ph:
20-
; VPLANS-NEXT: EMIT vp<[[VF:%[0-9]+]]> = VF * Part + ir<0>
20+
; VPLANS-NEXT: EMIT vp<[[VF:%[0-9]+]]> = VF * Part + ir<0>
2121
; VPLANS-NEXT: EMIT vp<[[NEWTC:%[0-9]+]]> = TC > VF ? TC - VF : 0 vp<[[TC]]>
22-
; VPLANS-NEXT: EMIT vp<[[LANEMASK_ENTRY:%[0-9]+]]> = active lane mask vp<[[VF]]> vp<[[TC]]>
22+
; VPLANS-NEXT: EMIT vp<[[LANEMASK_ENTRY:%[0-9]+]]> = active lane mask vp<[[VF]]>, vp<[[TC]]>
2323
; VPLANS-NEXT: Successor(s): vector loop
2424
; VPLANS-EMPTY:
2525
; VPLANS-NEXT: <x1> vector loop: {
@@ -29,9 +29,9 @@ target triple = "aarch64-unknown-linux-gnu"
2929
; VPLANS-NEXT: vp<[[STEP:%[0-9]+]]> = SCALAR-STEPS vp<[[INDV]]>, ir<1>
3030
; VPLANS-NEXT: CLONE ir<%gep> = getelementptr ir<%ptr>, vp<[[STEP]]>
3131
; VPLANS-NEXT: WIDEN store ir<%gep>, ir<%val>, vp<[[LANEMASK_PHI]]>
32-
; VPLANS-NEXT: EMIT vp<[[INC:%[0-9]+]]> = VF * Part + vp<[[INDV]]>
33-
; VPLANS-NEXT: EMIT vp<[[LANEMASK_LOOP]]> = active lane mask vp<[[INC]]> vp<[[NEWTC]]>
34-
; VPLANS-NEXT: EMIT vp<[[INDV_UPDATE:%[0-9]+]]> = VF * UF + vp<[[INDV]]>
32+
; VPLANS-NEXT: EMIT vp<[[INC:%[0-9]+]]> = VF * Part + vp<[[INDV]]>
33+
; VPLANS-NEXT: EMIT vp<[[LANEMASK_LOOP]]> = active lane mask vp<[[INC]]>, vp<[[NEWTC]]>
34+
; VPLANS-NEXT: EMIT vp<[[INDV_UPDATE:%[0-9]+]]> = VF * UF + vp<[[INDV]]>
3535
; VPLANS-NEXT: EMIT vp<[[NOT:%[0-9]+]]> = not vp<[[LANEMASK_LOOP]]>
3636
; VPLANS-NEXT: EMIT branch-on-cond vp<[[NOT]]>
3737
; VPLANS-NEXT: No successors

llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ target triple = "aarch64-unknown-linux-gnu"
2626
; CHECK-NEXT: WIDEN ir<%add> = add ir<%lv>, ir<1>
2727
; CHECK-NEXT: WIDEN store ir<%ptr.iv.2>, ir<%add>
2828
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
29-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VEC_TC]]>
29+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VEC_TC]]>
3030
; CHECK-NEXT: No successors
3131
; CHECK-NEXT: }
3232

llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ target triple = "aarch64-unknown-linux-gnu"
2525
; CHECK-NEXT: REPLICATE ir<%call> = call @foo(ir<%load>)
2626
; CHECK-NEXT: CLONE ir<%arrayidx> = getelementptr inbounds ir<%a>, vp<[[STEPS]]>
2727
; CHECK-NEXT: WIDEN store ir<%arrayidx>, ir<%call>
28-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
29-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
28+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
29+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
3030
; CHECK-NEXT: No successors
3131
; CHECK-NEXT: }
3232
; CHECK-NEXT: Successor(s): middle.block
@@ -51,8 +51,8 @@ target triple = "aarch64-unknown-linux-gnu"
5151
; CHECK-NEXT: WIDEN-CALL ir<%call> = call @foo(ir<%load>) (using library function: foo_vector_fixed4_nomask)
5252
; CHECK-NEXT: CLONE ir<%arrayidx> = getelementptr inbounds ir<%a>, vp<[[STEPS]]>
5353
; CHECK-NEXT: WIDEN store ir<%arrayidx>, ir<%call>
54-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
55-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
54+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
55+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
5656
; CHECK-NEXT: No successors
5757
; CHECK-NEXT: }
5858
; CHECK-NEXT: Successor(s): middle.block
@@ -82,8 +82,8 @@ target triple = "aarch64-unknown-linux-gnu"
8282
; CHECK-NEXT: WIDEN-CALL ir<%call> = call @foo(ir<%load>) (using library function: foo_vector_fixed2_nomask)
8383
; CHECK-NEXT: CLONE ir<%arrayidx> = getelementptr inbounds ir<%a>, vp<[[STEPS]]>
8484
; CHECK-NEXT: WIDEN store ir<%arrayidx>, ir<%call>
85-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXST:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
86-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
85+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXST:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
86+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
8787
; CHECK-NEXT: No successors
8888
; CHECK-NEXT: }
8989
; CHECK-NEXT: Successor(s): middle.block
@@ -108,8 +108,8 @@ target triple = "aarch64-unknown-linux-gnu"
108108
; CHECK-NEXT: WIDEN-CALL ir<%call> = call @foo(ir<%load>, ir<true>) (using library function: foo_vector_fixed4_mask)
109109
; CHECK-NEXT: CLONE ir<%arrayidx> = getelementptr inbounds ir<%a>, vp<[[STEPS]]>
110110
; CHECK-NEXT: WIDEN store ir<%arrayidx>, ir<%call>
111-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
112-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
111+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
112+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
113113
; CHECK-NEXT: No successors
114114
; CHECK-NEXT: }
115115
; CHECK-NEXT: Successor(s): middle.block
@@ -138,8 +138,8 @@ target triple = "aarch64-unknown-linux-gnu"
138138
; CHECK-NEXT: WIDEN-CALL ir<%call> = call @foo(ir<%load>) (using library function: foo_vector_fixed2_nomask)
139139
; CHECK-NEXT: CLONE ir<%arrayidx> = getelementptr inbounds ir<%a>, vp<[[STEPS]]>
140140
; CHECK-NEXT: WIDEN store ir<%arrayidx>, ir<%call>
141-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
142-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
141+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
142+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
143143
; CHECK-NEXT: No successors
144144
; CHECK-NEXT: }
145145
; CHECK-NEXT: Successor(s): middle.block
@@ -164,8 +164,8 @@ target triple = "aarch64-unknown-linux-gnu"
164164
; CHECK-NEXT: WIDEN-CALL ir<%call> = call @foo(ir<%load>) (using library function: foo_vector_fixed4_nomask)
165165
; CHECK-NEXT: CLONE ir<%arrayidx> = getelementptr inbounds ir<%a>, vp<[[STEPS]]>
166166
; CHECK-NEXT: WIDEN store ir<%arrayidx>, ir<%call>
167-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
168-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
167+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
168+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
169169
; CHECK-NEXT: No successors
170170
; CHECK-NEXT: }
171171
; CHECK-NEXT: Successor(s): middle.block

llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ target triple = "arm64-apple-ios"
2323
; CHECK-NEXT: WIDEN-CALL ir<%s> = call @llvm.sin.f64(ir<%conv>) (using library function: __simd_sin_v2f64)
2424
; CHECK-NEXT: REPLICATE ir<%gep.dst> = getelementptr inbounds ir<%dst>, vp<[[STEPS]]>
2525
; CHECK-NEXT: REPLICATE store ir<%s>, ir<%gep.dst>
26-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
27-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
26+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
27+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
2828
; CHECK-NEXT: No successors
2929
; CHECK-NEXT: }
3030
; CHECK-NEXT: Successor(s): middle.block
@@ -50,8 +50,8 @@ target triple = "arm64-apple-ios"
5050
; CHECK-NEXT: WIDEN-CALL ir<%s> = call @llvm.sin.f64(ir<%conv>) (using vector intrinsic)
5151
; CHECK-NEXT: REPLICATE ir<%gep.dst> = getelementptr inbounds ir<%dst>, vp<[[STEPS]]>
5252
; CHECK-NEXT: REPLICATE store ir<%s>, ir<%gep.dst>
53-
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
54-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
53+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
54+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
5555
; CHECK-NEXT: No successors
5656
; CHECK-NEXT: }
5757
; CHECK-NEXT: Successor(s): middle.block

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ define void @vector_reverse_i64(ptr nocapture noundef writeonly %A, ptr nocaptur
7171
; CHECK-NEXT: CLONE ir<%arrayidx3> = getelementptr inbounds ir<%A>, ir<%idxprom>
7272
; CHECK-NEXT: WIDEN store ir<%arrayidx3>, ir<%add9>
7373
; CHECK-NEXT: EMIT vp<%11> = VF * UF +(nuw) vp<%2>
74-
; CHECK-NEXT: EMIT branch-on-count vp<%11> vp<%0>
74+
; CHECK-NEXT: EMIT branch-on-count vp<%11>, vp<%0>
7575
; CHECK-NEXT: No successors
7676
; CHECK-NEXT: }
7777
; CHECK-NEXT: Successor(s): middle.block
@@ -207,7 +207,7 @@ define void @vector_reverse_f32(ptr nocapture noundef writeonly %A, ptr nocaptur
207207
; CHECK-NEXT: CLONE ir<%arrayidx3> = getelementptr inbounds ir<%A>, ir<%idxprom>
208208
; CHECK-NEXT: WIDEN store ir<%arrayidx3>, ir<%conv1>
209209
; CHECK-NEXT: EMIT vp<%11> = VF * UF +(nuw) vp<%2>
210-
; CHECK-NEXT: EMIT branch-on-count vp<%11> vp<%0>
210+
; CHECK-NEXT: EMIT branch-on-count vp<%11>, vp<%0>
211211
; CHECK-NEXT: No successors
212212
; CHECK-NEXT: }
213213
; CHECK-NEXT: Successor(s): middle.block

llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ define void @test_chained_first_order_recurrences_1(ptr %ptr) {
1919
; CHECK-NEXT: vp<[[STEPS:%.+]]> = SCALAR-STEPS vp<[[CAN_IV]]>, ir<1>
2020
; CHECK-NEXT: CLONE ir<%gep.ptr> = getelementptr inbounds ir<%ptr>, vp<[[STEPS]]>
2121
; CHECK-NEXT: WIDEN ir<%for.1.next> = load ir<%gep.ptr>
22-
; CHECK-NEXT: EMIT vp<[[FOR1_SPLICE]]> = first-order splice ir<%for.1> ir<%for.1.next>
23-
; CHECK-NEXT: EMIT vp<[[FOR2_SPLICE:%.+]]> = first-order splice ir<%for.2> vp<[[FOR1_SPLICE]]>
22+
; CHECK-NEXT: EMIT vp<[[FOR1_SPLICE]]> = first-order splice ir<%for.1>, ir<%for.1.next>
23+
; CHECK-NEXT: EMIT vp<[[FOR2_SPLICE:%.+]]> = first-order splice ir<%for.2>, vp<[[FOR1_SPLICE]]>
2424
; CHECK-NEXT: WIDEN ir<%add> = add vp<[[FOR1_SPLICE]]>, vp<[[FOR2_SPLICE]]>
2525
; CHECK-NEXT: WIDEN store ir<%gep.ptr>, ir<%add>
2626
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
27-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
27+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
2828
; CHECK-NEXT: No successors
2929
; CHECK-NEXT: }
3030
; CHECK-NEXT: Successor(s): middle.block
@@ -70,14 +70,14 @@ define void @test_chained_first_order_recurrences_3(ptr %ptr) {
7070
; CHECK-NEXT: vp<[[STEPS:%.+]]> = SCALAR-STEPS vp<[[CAN_IV]]>, ir<1>
7171
; CHECK-NEXT: CLONE ir<%gep.ptr> = getelementptr inbounds ir<%ptr>, vp<[[STEPS]]>
7272
; CHECK-NEXT: WIDEN ir<%for.1.next> = load ir<%gep.ptr>
73-
; CHECK-NEXT: EMIT vp<[[FOR1_SPLICE]]> = first-order splice ir<%for.1> ir<%for.1.next>
74-
; CHECK-NEXT: EMIT vp<[[FOR2_SPLICE]]> = first-order splice ir<%for.2> vp<[[FOR1_SPLICE]]>
75-
; CHECK-NEXT: EMIT vp<[[FOR3_SPLICE:%.+]]> = first-order splice ir<%for.3> vp<[[FOR2_SPLICE]]>
73+
; CHECK-NEXT: EMIT vp<[[FOR1_SPLICE]]> = first-order splice ir<%for.1>, ir<%for.1.next>
74+
; CHECK-NEXT: EMIT vp<[[FOR2_SPLICE]]> = first-order splice ir<%for.2>, vp<[[FOR1_SPLICE]]>
75+
; CHECK-NEXT: EMIT vp<[[FOR3_SPLICE:%.+]]> = first-order splice ir<%for.3>, vp<[[FOR2_SPLICE]]>
7676
; CHECK-NEXT: WIDEN ir<%add.1> = add vp<[[FOR1_SPLICE]]>, vp<[[FOR2_SPLICE]]>
7777
; CHECK-NEXT: WIDEN ir<%add.2> = add ir<%add.1>, vp<[[FOR3_SPLICE]]>
7878
; CHECK-NEXT: WIDEN store ir<%gep.ptr>, ir<%add.2>
7979
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT:%.+]]> = VF * UF +(nuw) vp<[[CAN_IV]]>
80-
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]> vp<[[VTC]]>
80+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VTC]]>
8181
; CHECK-NEXT: No successors
8282
; CHECK-NEXT: }
8383
; CHECK-NEXT: Successor(s): middle.block

0 commit comments

Comments
 (0)