Skip to content

Commit 633fe60

Browse files
committed
[VPlan] Print flags for VPWidenCastRecipe.
Update VPWidenCastRecipe to also print flags. Simplify nneg printing test and replace hard-coded value number references with patterns.
1 parent b43ab18 commit 633fe60

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -802,6 +802,7 @@ void VPWidenCastRecipe::print(raw_ostream &O, const Twine &Indent,
802802
O << Indent << "WIDEN-CAST ";
803803
printAsOperand(O, SlotTracker);
804804
O << " = " << Instruction::getOpcodeName(Opcode) << " ";
805+
printFlags(O);
805806
printOperands(O, SlotTracker);
806807
O << " to " << *getResultType();
807808
}

llvm/test/Transforms/LoopVectorize/vplan-printing.ll

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -809,23 +809,22 @@ exit:
809809
define void @zext_nneg(ptr noalias %p, ptr noalias %p1) {
810810
; CHECK-LABEL: LV: Checking a loop in 'zext_nneg'
811811
; CHECK: VPlan 'Initial VPlan for VF={4},UF>=1' {
812-
; CHECK-NEXT: Live-in vp<%0> = vector-trip-count
813-
; CHECK-NEXT: Live-in ir<0> = original trip-count
812+
; CHECK-NEXT: Live-in vp<[[VEC_TC:%.+]]> = vector-trip-count
813+
; CHECK-NEXT: Live-in ir<1000> = original trip-count
814814
; CHECK-EMPTY:
815815
; CHECK-NEXT: vector.ph:
816816
; CHECK-NEXT: Successor(s): vector loop
817817
; CHECK-EMPTY:
818818
; CHECK-NEXT: <x1> vector loop: {
819819
; CHECK-NEXT: vector.body:
820-
; CHECK-NEXT: EMIT vp<%1> = CANONICAL-INDUCTION ir<0>, vp<%8>
821-
; CHECK-NEXT: vp<%2> = DERIVED-IV ir<0> + vp<%1> * ir<1> (truncated to i32)
822-
; CHECK-NEXT: vp<%3> = SCALAR-STEPS vp<%2>, ir<1>
823-
; CHECK-NEXT: CLONE ir<%zext> = zext nneg vp<%3>
824-
; CHECK-NEXT: CLONE ir<%idx2> = getelementptr ir<%p>, ir<%zext>
825-
; CHECK-NEXT: WIDEN ir<%1> = load ir<%idx2>
826-
; CHECK-NEXT: REPLICATE store ir<%1>, ir<%p1>
827-
; CHECK-NEXT: EMIT vp<%8> = VF * UF + nuw vp<%1>
828-
; CHECK-NEXT: EMIT branch-on-count vp<%8>, vp<%0>
820+
; CHECK-NEXT: EMIT vp<[[CAN_IV:%.+]]> = CANONICAL-INDUCTION ir<0>, vp<[[CAN_IV_NEXT:%.+]]>
821+
; CHECK-NEXT: vp<[[STEPS:%.+]]> = SCALAR-STEPS vp<[[CAN_IV]]>, ir<1>
822+
; CHECK-NEXT: CLONE ir<%idx> = getelementptr ir<%p>, vp<[[STEPS]]>
823+
; CHECK-NEXT: WIDEN ir<%l> = load ir<%idx>
824+
; CHECK-NEXT: WIDEN-CAST ir<%zext> = zext nneg ir<%l>
825+
; CHECK-NEXT: REPLICATE store ir<%zext>, ir<%p1>
826+
; CHECK-NEXT: EMIT vp<[[CAN_IV_NEXT]]> = VF * UF + nuw vp<[[CAN_IV]]>
827+
; CHECK-NEXT: EMIT branch-on-count vp<[[CAN_IV_NEXT]]>, vp<[[VEC_TC]]>
829828
; CHECK-NEXT: No successors
830829
; CHECK-NEXT: }
831830
;
@@ -834,13 +833,12 @@ entry:
834833

835834
body:
836835
%iv = phi i64 [ %next, %body ], [ 0, %entry ]
837-
%0 = trunc i64 %iv to i32
838-
%zext = zext nneg i32 %0 to i64
839-
%idx2 = getelementptr double, ptr %p, i64 %zext
840-
%1 = load double, ptr %idx2, align 8
841-
store double %1, ptr %p1, align 8
836+
%idx = getelementptr i32, ptr %p, i64 %iv
837+
%l = load i32, ptr %idx, align 8
838+
%zext = zext nneg i32 %l to i64
839+
store i64 %zext, ptr %p1, align 8
842840
%next = add i64 %iv, 1
843-
%cmp = icmp eq i64 %next, 0
841+
%cmp = icmp eq i64 %next, 1000
844842
br i1 %cmp, label %exit, label %body
845843

846844
exit:

0 commit comments

Comments
 (0)