Skip to content

Commit cbc38f7

Browse files
committed
Use --check-globals=none, tidy up test
1 parent d3d7c03 commit cbc38f7

File tree

2 files changed

+34
-44
lines changed

2 files changed

+34
-44
lines changed

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7467,8 +7467,8 @@ static bool planContainsAdditionalSimplifications(VPlan &Plan,
74677467
}
74687468
continue;
74697469
}
7470-
// If a FOR's splice wasn't used it will have been removed, so the VPlan
7471-
// model won't cost it whilst the legacy will.
7470+
// Unused FOR splices are removed by VPlan transforms, so the VPlan-based
7471+
// cost model won't cost it whilst the legacy will.
74727472
if (auto *FOR = dyn_cast<VPFirstOrderRecurrencePHIRecipe>(&R)) {
74737473
if (none_of(FOR->users(), [](VPUser *U) {
74747474
auto *VPI = dyn_cast<VPInstruction>(U);
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals none --version 5
22
; RUN: opt -p loop-vectorize -S %s | FileCheck %s
33

44
; If a FOR isn't used the VPInstruction::FirstOrderRecurrenceSplice will be dead
@@ -24,35 +24,34 @@ define void @no_use() {
2424
; CHECK-NEXT: br i1 [[TMP0]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]
2525
; CHECK: [[MIDDLE_BLOCK]]:
2626
; CHECK-NEXT: [[VECTOR_RECUR_EXTRACT:%.*]] = extractelement <4 x i32> [[STEP_ADD]], i32 3
27-
; CHECK-NEXT: br i1 false, label %[[F_EXIT:.*]], label %[[SCALAR_PH]]
27+
; CHECK-NEXT: br i1 false, label %[[EXIT:.*]], label %[[SCALAR_PH]]
2828
; CHECK: [[SCALAR_PH]]:
2929
; CHECK-NEXT: [[SCALAR_RECUR_INIT:%.*]] = phi i32 [ [[VECTOR_RECUR_EXTRACT]], %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ]
3030
; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ 40, %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ]
31-
; CHECK-NEXT: br label %[[FOR_COND_I:.*]]
32-
; CHECK: [[FOR_COND_I]]:
33-
; CHECK-NEXT: [[D_0_I:%.*]] = phi i32 [ [[SCALAR_RECUR_INIT]], %[[SCALAR_PH]] ], [ [[E_0_I:%.*]], %[[FOR_COND_I]] ]
34-
; CHECK-NEXT: [[E_0_I]] = phi i32 [ [[BC_RESUME_VAL]], %[[SCALAR_PH]] ], [ [[INC_I:%.*]], %[[FOR_COND_I]] ]
31+
; CHECK-NEXT: br label %[[LOOP:.*]]
32+
; CHECK: [[LOOP]]:
33+
; CHECK-NEXT: [[FOR:%.*]] = phi i32 [ [[SCALAR_RECUR_INIT]], %[[SCALAR_PH]] ], [ [[E_0_I:%.*]], %[[LOOP]] ]
34+
; CHECK-NEXT: [[E_0_I]] = phi i32 [ [[BC_RESUME_VAL]], %[[SCALAR_PH]] ], [ [[INC_I:%.*]], %[[LOOP]] ]
3535
; CHECK-NEXT: [[INC_I]] = add i32 [[E_0_I]], 1
3636
; CHECK-NEXT: [[EXITCOND_NOT_I:%.*]] = icmp eq i32 [[E_0_I]], 43
37-
; CHECK-NEXT: br i1 [[EXITCOND_NOT_I]], label %[[F_EXIT]], label %[[FOR_COND_I]], !llvm.loop [[LOOP3:![0-9]+]]
38-
; CHECK: [[F_EXIT]]:
37+
; CHECK-NEXT: br i1 [[EXITCOND_NOT_I]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP3:![0-9]+]]
38+
; CHECK: [[EXIT]]:
3939
; CHECK-NEXT: ret void
4040
;
4141
entry:
42-
br label %for.cond.i
42+
br label %loop
4343

44-
for.cond.i:
45-
%d.0.i = phi i32 [ 0, %entry ], [ %e.0.i, %for.cond.i ]
46-
%e.0.i = phi i32 [ 0, %entry ], [ %inc.i, %for.cond.i ]
47-
%inc.i = add i32 %e.0.i, 1
48-
%exitcond.not.i = icmp eq i32 %e.0.i, 43
49-
br i1 %exitcond.not.i, label %f.exit, label %for.cond.i
44+
loop:
45+
%for = phi i32 [ 0, %entry ], [ %iv, %loop ]
46+
%iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ]
47+
%iv.next = add i32 %iv, 1
48+
%exitcond.not.i = icmp eq i32 %iv, 43
49+
br i1 %exitcond.not.i, label %exit, label %loop
5050

51-
f.exit:
51+
exit:
5252
ret void
5353
}
5454

55-
5655
define void @dead_use() {
5756
; CHECK-LABEL: define void @dead_use() {
5857
; CHECK-NEXT: [[ENTRY:.*]]:
@@ -70,41 +69,32 @@ define void @dead_use() {
7069
; CHECK-NEXT: br i1 [[TMP0]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP4:![0-9]+]]
7170
; CHECK: [[MIDDLE_BLOCK]]:
7271
; CHECK-NEXT: [[VECTOR_RECUR_EXTRACT:%.*]] = extractelement <4 x i32> [[STEP_ADD]], i32 3
73-
; CHECK-NEXT: br i1 false, label %[[F_EXIT:.*]], label %[[SCALAR_PH]]
72+
; CHECK-NEXT: br i1 false, label %[[EXIT:.*]], label %[[SCALAR_PH]]
7473
; CHECK: [[SCALAR_PH]]:
7574
; CHECK-NEXT: [[SCALAR_RECUR_INIT:%.*]] = phi i32 [ [[VECTOR_RECUR_EXTRACT]], %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ]
7675
; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i32 [ 40, %[[MIDDLE_BLOCK]] ], [ 0, %[[ENTRY]] ]
77-
; CHECK-NEXT: br label %[[FOR_COND_I:.*]]
78-
; CHECK: [[FOR_COND_I]]:
79-
; CHECK-NEXT: [[D_0_I:%.*]] = phi i32 [ [[SCALAR_RECUR_INIT]], %[[SCALAR_PH]] ], [ [[E_0_I:%.*]], %[[FOR_COND_I]] ]
80-
; CHECK-NEXT: [[E_0_I]] = phi i32 [ [[BC_RESUME_VAL]], %[[SCALAR_PH]] ], [ [[INC_I:%.*]], %[[FOR_COND_I]] ]
76+
; CHECK-NEXT: br label %[[LOOP:.*]]
77+
; CHECK: [[LOOP]]:
78+
; CHECK-NEXT: [[D_0_I:%.*]] = phi i32 [ [[SCALAR_RECUR_INIT]], %[[SCALAR_PH]] ], [ [[E_0_I:%.*]], %[[LOOP]] ]
79+
; CHECK-NEXT: [[E_0_I]] = phi i32 [ [[BC_RESUME_VAL]], %[[SCALAR_PH]] ], [ [[INC_I:%.*]], %[[LOOP]] ]
8180
; CHECK-NEXT: [[DEAD:%.*]] = add i32 [[D_0_I]], 1
8281
; CHECK-NEXT: [[INC_I]] = add i32 [[E_0_I]], 1
8382
; CHECK-NEXT: [[EXITCOND_NOT_I:%.*]] = icmp eq i32 [[E_0_I]], 43
84-
; CHECK-NEXT: br i1 [[EXITCOND_NOT_I]], label %[[F_EXIT]], label %[[FOR_COND_I]], !llvm.loop [[LOOP5:![0-9]+]]
85-
; CHECK: [[F_EXIT]]:
83+
; CHECK-NEXT: br i1 [[EXITCOND_NOT_I]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP5:![0-9]+]]
84+
; CHECK: [[EXIT]]:
8685
; CHECK-NEXT: ret void
8786
;
8887
entry:
89-
br label %for.cond.i
88+
br label %loop
9089

91-
for.cond.i:
92-
%d.0.i = phi i32 [ 0, %entry ], [ %e.0.i, %for.cond.i ]
93-
%e.0.i = phi i32 [ 0, %entry ], [ %inc.i, %for.cond.i ]
94-
%dead = add i32 %d.0.i, 1
95-
%inc.i = add i32 %e.0.i, 1
96-
%exitcond.not.i = icmp eq i32 %e.0.i, 43
97-
br i1 %exitcond.not.i, label %f.exit, label %for.cond.i
90+
loop:
91+
%for = phi i32 [ 0, %entry ], [ %iv, %loop ]
92+
%iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ]
93+
%dead = add i32 %for, 1
94+
%iv.next = add i32 %iv, 1
95+
%exitcond.not.i = icmp eq i32 %iv, 43
96+
br i1 %exitcond.not.i, label %exit, label %loop
9897

99-
f.exit:
98+
exit:
10099
ret void
101100
}
102-
103-
;.
104-
; CHECK: [[LOOP0]] = distinct !{[[LOOP0]], [[META1:![0-9]+]], [[META2:![0-9]+]]}
105-
; CHECK: [[META1]] = !{!"llvm.loop.isvectorized", i32 1}
106-
; CHECK: [[META2]] = !{!"llvm.loop.unroll.runtime.disable"}
107-
; CHECK: [[LOOP3]] = distinct !{[[LOOP3]], [[META2]], [[META1]]}
108-
; CHECK: [[LOOP4]] = distinct !{[[LOOP4]], [[META1]], [[META2]]}
109-
; CHECK: [[LOOP5]] = distinct !{[[LOOP5]], [[META2]], [[META1]]}
110-
;.

0 commit comments

Comments
 (0)