Skip to content

Commit ca26cf8

Browse files
committed
[LV] Use variables in CHECK lines for unnamed VPValues in test.
Update test to capture unnamed VPValues in variables, making it easier to update with future VPlan changes.
1 parent 5593f45 commit ca26cf8

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

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

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ define i32 @print_partial_reduction(ptr %a, ptr %b) "target-features"="+neon,+do
7676
; CHECK-NEXT: Successor(s): vector.ph
7777
; CHECK-EMPTY:
7878
; CHECK-NEXT: vector.ph:
79-
; CHECK-NEXT: EMIT vp<%1> = reduction-start-vector ir<0>, ir<0>, ir<4>
79+
; CHECK-NEXT: EMIT vp<[[RDX_START:%[0-9]+]]> = reduction-start-vector ir<0>, ir<0>, ir<4>
8080
; CHECK-NEXT: Successor(s): vector.body
8181
; CHECK-EMPTY:
8282
; CHECK-NEXT: vector.body:
8383
; CHECK-NEXT: EMIT-SCALAR vp<%index> = phi [ ir<0>, vector.ph ], [ vp<%index.next>, vector.body ]
84-
; CHECK-NEXT: WIDEN-REDUCTION-PHI ir<%accum> = phi vp<%1>, ir<%add> (VF scaled by 1/4)
84+
; CHECK-NEXT: WIDEN-REDUCTION-PHI ir<%accum> = phi vp<[[RDX_START]]>, ir<%add> (VF scaled by 1/4)
8585
; CHECK-NEXT: CLONE ir<%gep.a> = getelementptr ir<%a>, vp<%index>
8686
; CHECK-NEXT: WIDEN ir<%load.a> = load ir<%gep.a>
8787
; CHECK-NEXT: CLONE ir<%gep.b> = getelementptr ir<%b>, vp<%index>
@@ -95,11 +95,11 @@ define i32 @print_partial_reduction(ptr %a, ptr %b) "target-features"="+neon,+do
9595
; CHECK-NEXT: Successor(s): middle.block, vector.body
9696
; CHECK-EMPTY:
9797
; CHECK-NEXT: middle.block:
98-
; CHECK-NEXT: EMIT vp<%3> = compute-reduction-result ir<%accum>, ir<%add>
98+
; CHECK-NEXT: EMIT vp<[[RED_RESULT:%[0-9]+]]> = compute-reduction-result ir<%accum>, ir<%add>
9999
; CHECK-NEXT: Successor(s): ir-bb<exit>
100100
; CHECK-EMPTY:
101101
; CHECK-NEXT: ir-bb<exit>:
102-
; CHECK-NEXT: IR %add.lcssa = phi i32 [ %add, %for.body ] (extra operand: vp<%3> from middle.block)
102+
; CHECK-NEXT: IR %add.lcssa = phi i32 [ %add, %for.body ] (extra operand: vp<[[RED_RESULT]]> from middle.block)
103103
; CHECK-NEXT: No successors
104104
; CHECK-NEXT: }
105105
entry:
@@ -127,48 +127,48 @@ exit:
127127
; Test that we also get VPExpressions when there is predication.
128128
define i32 @print_partial_reduction_predication(ptr %a, ptr %b, i64 %N) "target-features"="+sve" {
129129
; CHECK: VPlan 'Initial VPlan for VF={8,16},UF>=1' {
130-
; CHECK-NEXT: Live-in vp<%0> = VF
131-
; CHECK-NEXT: Live-in vp<%1> = VF * UF
130+
; CHECK-NEXT: Live-in vp<[[VF:%[0-9]+]]> = VF
131+
; CHECK-NEXT: Live-in vp<[[VFxUF:%[0-9]+]]> = VF * UF
132132
; CHECK-NEXT: Live-in ir<%N> = original trip-count
133133
; CHECK-EMPTY:
134134
; CHECK-NEXT: ir-bb<entry>:
135135
; CHECK-NEXT: Successor(s): scalar.ph, vector.ph
136136
; CHECK-EMPTY:
137137
; CHECK-NEXT: vector.ph:
138-
; CHECK-NEXT: EMIT vp<%4> = reduction-start-vector ir<0>, ir<0>, ir<4>
139-
; CHECK-NEXT: EMIT vp<%5> = TC > VF ? TC - VF : 0 ir<%N>
138+
; CHECK-NEXT: EMIT vp<[[RDX_START:%[0-9]+]]> = reduction-start-vector ir<0>, ir<0>, ir<4>
139+
; CHECK-NEXT: EMIT vp<[[TC_MINUS_VF:%[0-9]+]]> = TC > VF ? TC - VF : 0 ir<%N>
140140
; CHECK-NEXT: EMIT vp<%index.part.next> = VF * Part + ir<0>
141141
; CHECK-NEXT: EMIT vp<%active.lane.mask.entry> = active lane mask vp<%index.part.next>, ir<%N>, ir<1>
142142
; CHECK-NEXT: Successor(s): vector loop
143143
; CHECK-EMPTY:
144144
; CHECK-NEXT: <x1> vector loop: {
145145
; CHECK-NEXT: vector.body:
146-
; CHECK-NEXT: EMIT vp<%6> = CANONICAL-INDUCTION ir<0>, vp<%index.next>
147-
; CHECK-NEXT: ACTIVE-LANE-MASK-PHI vp<%7> = phi vp<%active.lane.mask.entry>, vp<%active.lane.mask.next>
148-
; CHECK-NEXT: WIDEN-REDUCTION-PHI ir<%accum> = phi vp<%4>, vp<%11> (VF scaled by 1/4)
149-
; CHECK-NEXT: vp<%8> = SCALAR-STEPS vp<%6>, ir<1>, vp<%0>
150-
; CHECK-NEXT: CLONE ir<%gep.a> = getelementptr ir<%a>, vp<%8>
151-
; CHECK-NEXT: vp<%9> = vector-pointer ir<%gep.a>
152-
; CHECK-NEXT: WIDEN ir<%load.a> = load vp<%9>, vp<%7>
153-
; CHECK-NEXT: CLONE ir<%gep.b> = getelementptr ir<%b>, vp<%8>
154-
; CHECK-NEXT: vp<%10> = vector-pointer ir<%gep.b>
155-
; CHECK-NEXT: WIDEN ir<%load.b> = load vp<%10>, vp<%7>
156-
; CHECK-NEXT: EXPRESSION vp<%11> = vp<%7> + partial.reduce.add (mul (ir<%load.b> zext to i32), (ir<%load.a> zext to i32), <badref>)
157-
; CHECK-NEXT: EMIT vp<%index.next> = add vp<%6>, vp<%1>
158-
; CHECK-NEXT: EMIT vp<%12> = VF * Part + vp<%6>
159-
; CHECK-NEXT: EMIT vp<%active.lane.mask.next> = active lane mask vp<%12>, vp<%5>, ir<1>
160-
; CHECK-NEXT: EMIT vp<%13> = not vp<%active.lane.mask.next>
161-
; CHECK-NEXT: EMIT branch-on-cond vp<%13>
146+
; CHECK-NEXT: EMIT vp<[[CAN_IV:%[0-9]+]]> = CANONICAL-INDUCTION ir<0>, vp<%index.next>
147+
; CHECK-NEXT: ACTIVE-LANE-MASK-PHI vp<[[MASK:%[0-9]+]]> = phi vp<%active.lane.mask.entry>, vp<%active.lane.mask.next>
148+
; CHECK-NEXT: WIDEN-REDUCTION-PHI ir<%accum> = phi vp<[[RDX_START]]>, vp<[[REDUCE:%[0-9]+]]> (VF scaled by 1/4)
149+
; CHECK-NEXT: vp<[[STEPS:%[0-9]+]]> = SCALAR-STEPS vp<[[CAN_IV]]>, ir<1>, vp<[[VF]]>
150+
; CHECK-NEXT: CLONE ir<%gep.a> = getelementptr ir<%a>, vp<[[STEPS]]>
151+
; CHECK-NEXT: vp<[[PTR_A:%[0-9]+]]> = vector-pointer ir<%gep.a>
152+
; CHECK-NEXT: WIDEN ir<%load.a> = load vp<[[PTR_A]]>, vp<[[MASK]]>
153+
; CHECK-NEXT: CLONE ir<%gep.b> = getelementptr ir<%b>, vp<[[STEPS]]>
154+
; CHECK-NEXT: vp<[[PTR_B:%[0-9]+]]> = vector-pointer ir<%gep.b>
155+
; CHECK-NEXT: WIDEN ir<%load.b> = load vp<[[PTR_B]]>, vp<[[MASK]]>
156+
; CHECK-NEXT: EXPRESSION vp<[[REDUCE]]> = vp<[[MASK]]> + partial.reduce.add (mul (ir<%load.b> zext to i32), (ir<%load.a> zext to i32), <badref>)
157+
; CHECK-NEXT: EMIT vp<%index.next> = add vp<[[CAN_IV]]>, vp<[[VFxUF]]>
158+
; CHECK-NEXT: EMIT vp<[[PART_IDX:%[0-9]+]]> = VF * Part + vp<[[CAN_IV]]>
159+
; CHECK-NEXT: EMIT vp<%active.lane.mask.next> = active lane mask vp<[[PART_IDX]]>, vp<[[TC_MINUS_VF]]>, ir<1>
160+
; CHECK-NEXT: EMIT vp<[[NOT_MASK:%[0-9]+]]> = not vp<%active.lane.mask.next>
161+
; CHECK-NEXT: EMIT branch-on-cond vp<[[NOT_MASK]]>
162162
; CHECK-NEXT: No successors
163163
; CHECK-NEXT: }
164164
; CHECK-NEXT: Successor(s): middle.block
165165
; CHECK-EMPTY:
166166
; CHECK-NEXT: middle.block:
167-
; CHECK-NEXT: EMIT vp<%15> = compute-reduction-result ir<%accum>, vp<%11>
167+
; CHECK-NEXT: EMIT vp<[[RED_RESULT:%[0-9]+]]> = compute-reduction-result ir<%accum>, vp<[[REDUCE]]>
168168
; CHECK-NEXT: Successor(s): ir-bb<exit>
169169
; CHECK-EMPTY:
170170
; CHECK-NEXT: ir-bb<exit>:
171-
; CHECK-NEXT: IR %add.lcssa = phi i32 [ %add, %for.body ] (extra operand: vp<%15> from middle.block)
171+
; CHECK-NEXT: IR %add.lcssa = phi i32 [ %add, %for.body ] (extra operand: vp<[[RED_RESULT]]> from middle.block)
172172
; CHECK-NEXT: No successors
173173
entry:
174174
br label %for.body

0 commit comments

Comments
 (0)