Skip to content

Commit 9400490

Browse files
committed
[LV] Remove unused ILV state (NFC).
Remove unused member variables from InnerLoopVectorizer.
1 parent baae949 commit 9400490

File tree

1 file changed

+37
-52
lines changed

1 file changed

+37
-52
lines changed

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

Lines changed: 37 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -499,18 +499,16 @@ class InnerLoopVectorizer {
499499
public:
500500
InnerLoopVectorizer(Loop *OrigLoop, PredicatedScalarEvolution &PSE,
501501
LoopInfo *LI, DominatorTree *DT,
502-
const TargetLibraryInfo *TLI,
503502
const TargetTransformInfo *TTI, AssumptionCache *AC,
504-
OptimizationRemarkEmitter *ORE, ElementCount VecWidth,
503+
ElementCount VecWidth,
505504
ElementCount MinProfitableTripCount,
506505
unsigned UnrollFactor, LoopVectorizationCostModel *CM,
507506
BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI,
508507
GeneratedRTChecks &RTChecks, VPlan &Plan)
509-
: OrigLoop(OrigLoop), PSE(PSE), LI(LI), DT(DT), TLI(TLI), TTI(TTI),
510-
AC(AC), ORE(ORE), VF(VecWidth),
511-
MinProfitableTripCount(MinProfitableTripCount), UF(UnrollFactor),
512-
Builder(PSE.getSE()->getContext()), Cost(CM), BFI(BFI), PSI(PSI),
513-
RTChecks(RTChecks), Plan(Plan),
508+
: OrigLoop(OrigLoop), PSE(PSE), LI(LI), DT(DT), TTI(TTI), AC(AC),
509+
VF(VecWidth), MinProfitableTripCount(MinProfitableTripCount),
510+
UF(UnrollFactor), Builder(PSE.getSE()->getContext()), Cost(CM),
511+
BFI(BFI), PSI(PSI), RTChecks(RTChecks), Plan(Plan),
514512
VectorPHVPBB(cast<VPBasicBlock>(
515513
Plan.getVectorLoopRegion()->getSinglePredecessor())) {}
516514

@@ -584,18 +582,12 @@ class InnerLoopVectorizer {
584582
/// Dominator Tree.
585583
DominatorTree *DT;
586584

587-
/// Target Library Info.
588-
const TargetLibraryInfo *TLI;
589-
590585
/// Target Transform Info.
591586
const TargetTransformInfo *TTI;
592587

593588
/// Assumption Cache.
594589
AssumptionCache *AC;
595590

596-
/// Interface to emit optimization remarks.
597-
OptimizationRemarkEmitter *ORE;
598-
599591
/// The vectorization SIMD factor to use. Each vector will have this many
600592
/// vector elements.
601593
ElementCount VF;
@@ -617,9 +609,6 @@ class InnerLoopVectorizer {
617609
/// The scalar-loop preheader.
618610
BasicBlock *LoopScalarPreHeader = nullptr;
619611

620-
/// Middle Block between the vector and the scalar.
621-
BasicBlock *LoopMiddleBlock = nullptr;
622-
623612
/// Trip count of the original loop.
624613
Value *TripCount = nullptr;
625614

@@ -684,14 +673,12 @@ class InnerLoopAndEpilogueVectorizer : public InnerLoopVectorizer {
684673
public:
685674
InnerLoopAndEpilogueVectorizer(
686675
Loop *OrigLoop, PredicatedScalarEvolution &PSE, LoopInfo *LI,
687-
DominatorTree *DT, const TargetLibraryInfo *TLI,
688-
const TargetTransformInfo *TTI, AssumptionCache *AC,
689-
OptimizationRemarkEmitter *ORE, EpilogueLoopVectorizationInfo &EPI,
690-
LoopVectorizationCostModel *CM, BlockFrequencyInfo *BFI,
691-
ProfileSummaryInfo *PSI, GeneratedRTChecks &Checks, VPlan &Plan,
692-
ElementCount VecWidth, ElementCount MinProfitableTripCount,
693-
unsigned UnrollFactor)
694-
: InnerLoopVectorizer(OrigLoop, PSE, LI, DT, TLI, TTI, AC, ORE, VecWidth,
676+
DominatorTree *DT, const TargetTransformInfo *TTI, AssumptionCache *AC,
677+
EpilogueLoopVectorizationInfo &EPI, LoopVectorizationCostModel *CM,
678+
BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI,
679+
GeneratedRTChecks &Checks, VPlan &Plan, ElementCount VecWidth,
680+
ElementCount MinProfitableTripCount, unsigned UnrollFactor)
681+
: InnerLoopVectorizer(OrigLoop, PSE, LI, DT, TTI, AC, VecWidth,
695682
MinProfitableTripCount, UnrollFactor, CM, BFI, PSI,
696683
Checks, Plan),
697684
EPI(EPI) {}
@@ -721,16 +708,17 @@ class InnerLoopAndEpilogueVectorizer : public InnerLoopVectorizer {
721708
/// epilogues.
722709
class EpilogueVectorizerMainLoop : public InnerLoopAndEpilogueVectorizer {
723710
public:
724-
EpilogueVectorizerMainLoop(
725-
Loop *OrigLoop, PredicatedScalarEvolution &PSE, LoopInfo *LI,
726-
DominatorTree *DT, const TargetLibraryInfo *TLI,
727-
const TargetTransformInfo *TTI, AssumptionCache *AC,
728-
OptimizationRemarkEmitter *ORE, EpilogueLoopVectorizationInfo &EPI,
729-
LoopVectorizationCostModel *CM, BlockFrequencyInfo *BFI,
730-
ProfileSummaryInfo *PSI, GeneratedRTChecks &Check, VPlan &Plan)
731-
: InnerLoopAndEpilogueVectorizer(
732-
OrigLoop, PSE, LI, DT, TLI, TTI, AC, ORE, EPI, CM, BFI, PSI, Check,
733-
Plan, EPI.MainLoopVF, EPI.MainLoopVF, EPI.MainLoopUF) {}
711+
EpilogueVectorizerMainLoop(Loop *OrigLoop, PredicatedScalarEvolution &PSE,
712+
LoopInfo *LI, DominatorTree *DT,
713+
const TargetTransformInfo *TTI,
714+
AssumptionCache *AC,
715+
EpilogueLoopVectorizationInfo &EPI,
716+
LoopVectorizationCostModel *CM,
717+
BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI,
718+
GeneratedRTChecks &Check, VPlan &Plan)
719+
: InnerLoopAndEpilogueVectorizer(OrigLoop, PSE, LI, DT, TTI, AC, EPI, CM,
720+
BFI, PSI, Check, Plan, EPI.MainLoopVF,
721+
EPI.MainLoopVF, EPI.MainLoopUF) {}
734722
/// Implements the interface for creating a vectorized skeleton using the
735723
/// *main loop* strategy (ie the first pass of vplan execution).
736724
BasicBlock *createEpilogueVectorizedLoopSkeleton() final;
@@ -751,14 +739,13 @@ class EpilogueVectorizerEpilogueLoop : public InnerLoopAndEpilogueVectorizer {
751739
public:
752740
EpilogueVectorizerEpilogueLoop(
753741
Loop *OrigLoop, PredicatedScalarEvolution &PSE, LoopInfo *LI,
754-
DominatorTree *DT, const TargetLibraryInfo *TLI,
755-
const TargetTransformInfo *TTI, AssumptionCache *AC,
756-
OptimizationRemarkEmitter *ORE, EpilogueLoopVectorizationInfo &EPI,
757-
LoopVectorizationCostModel *CM, BlockFrequencyInfo *BFI,
758-
ProfileSummaryInfo *PSI, GeneratedRTChecks &Checks, VPlan &Plan)
759-
: InnerLoopAndEpilogueVectorizer(
760-
OrigLoop, PSE, LI, DT, TLI, TTI, AC, ORE, EPI, CM, BFI, PSI, Checks,
761-
Plan, EPI.EpilogueVF, EPI.EpilogueVF, EPI.EpilogueUF) {
742+
DominatorTree *DT, const TargetTransformInfo *TTI, AssumptionCache *AC,
743+
EpilogueLoopVectorizationInfo &EPI, LoopVectorizationCostModel *CM,
744+
BlockFrequencyInfo *BFI, ProfileSummaryInfo *PSI,
745+
GeneratedRTChecks &Checks, VPlan &Plan)
746+
: InnerLoopAndEpilogueVectorizer(OrigLoop, PSE, LI, DT, TTI, AC, EPI, CM,
747+
BFI, PSI, Checks, Plan, EPI.EpilogueVF,
748+
EPI.EpilogueVF, EPI.EpilogueUF) {
762749
TripCount = EPI.TripCount;
763750
}
764751
/// Implements the interface for creating a vectorized skeleton using the
@@ -9475,8 +9462,8 @@ static bool processLoopInVPlanNativePath(
94759462

94769463
{
94779464
GeneratedRTChecks Checks(PSE, DT, LI, TTI, F->getDataLayout(), CM.CostKind);
9478-
InnerLoopVectorizer LB(L, PSE, LI, DT, TLI, TTI, AC, ORE, VF.Width,
9479-
VF.Width, 1, &CM, BFI, PSI, Checks, BestPlan);
9465+
InnerLoopVectorizer LB(L, PSE, LI, DT, TTI, AC, VF.Width, VF.Width, 1, &CM,
9466+
BFI, PSI, Checks, BestPlan);
94809467
LLVM_DEBUG(dbgs() << "Vectorizing outer loop in \""
94819468
<< L->getHeader()->getParent()->getName() << "\"\n");
94829469
LVP.executePlan(VF.Width, 1, BestPlan, LB, DT, false);
@@ -10258,7 +10245,7 @@ bool LoopVectorizePass::processLoop(Loop *L) {
1025810245
// interleave it.
1025910246
VPlan &BestPlan = LVP.getPlanFor(VF.Width);
1026010247
InnerLoopVectorizer Unroller(
10261-
L, PSE, LI, DT, TLI, TTI, AC, ORE, ElementCount::getFixed(1),
10248+
L, PSE, LI, DT, TTI, AC, ElementCount::getFixed(1),
1026210249
ElementCount::getFixed(1), IC, &CM, BFI, PSI, Checks, BestPlan);
1026310250

1026410251
// TODO: Move to general VPlan pipeline once epilogue loops are also
@@ -10293,18 +10280,16 @@ bool LoopVectorizePass::processLoop(Loop *L) {
1029310280
preparePlanForMainVectorLoop(*BestMainPlan, BestEpiPlan);
1029410281
EpilogueLoopVectorizationInfo EPI(VF.Width, IC, EpilogueVF.Width, 1,
1029510282
BestEpiPlan);
10296-
EpilogueVectorizerMainLoop MainILV(L, PSE, LI, DT, TLI, TTI, AC, ORE,
10297-
EPI, &CM, BFI, PSI, Checks,
10298-
*BestMainPlan);
10283+
EpilogueVectorizerMainLoop MainILV(L, PSE, LI, DT, TTI, AC, EPI, &CM,
10284+
BFI, PSI, Checks, *BestMainPlan);
1029910285
auto ExpandedSCEVs = LVP.executePlan(EPI.MainLoopVF, EPI.MainLoopUF,
1030010286
*BestMainPlan, MainILV, DT, false);
1030110287
++LoopsVectorized;
1030210288

1030310289
// Second pass vectorizes the epilogue and adjusts the control flow
1030410290
// edges from the first pass.
10305-
EpilogueVectorizerEpilogueLoop EpilogILV(L, PSE, LI, DT, TLI, TTI, AC,
10306-
ORE, EPI, &CM, BFI, PSI,
10307-
Checks, BestEpiPlan);
10291+
EpilogueVectorizerEpilogueLoop EpilogILV(
10292+
L, PSE, LI, DT, TTI, AC, EPI, &CM, BFI, PSI, Checks, BestEpiPlan);
1030810293
EpilogILV.setTripCount(MainILV.getTripCount());
1030910294
preparePlanForEpilogueVectorLoop(BestEpiPlan, L, ExpandedSCEVs, EPI);
1031010295

@@ -10329,7 +10314,7 @@ bool LoopVectorizePass::processLoop(Loop *L) {
1032910314
if (!Checks.hasChecks())
1033010315
DisableRuntimeUnroll = true;
1033110316
} else {
10332-
InnerLoopVectorizer LB(L, PSE, LI, DT, TLI, TTI, AC, ORE, VF.Width,
10317+
InnerLoopVectorizer LB(L, PSE, LI, DT, TTI, AC, VF.Width,
1033310318
VF.MinProfitableTripCount, IC, &CM, BFI, PSI,
1033410319
Checks, BestPlan);
1033510320
// TODO: Move to general VPlan pipeline once epilogue loops are also

0 commit comments

Comments
 (0)