@@ -683,22 +683,6 @@ class InnerLoopVectorizer {
683683 ReductionResumeValues;
684684};
685685
686- class InnerLoopUnroller : public InnerLoopVectorizer {
687- public:
688- InnerLoopUnroller (Loop *OrigLoop, PredicatedScalarEvolution &PSE,
689- LoopInfo *LI, DominatorTree *DT,
690- const TargetLibraryInfo *TLI,
691- const TargetTransformInfo *TTI, AssumptionCache *AC,
692- OptimizationRemarkEmitter *ORE, unsigned UnrollFactor,
693- LoopVectorizationLegality *LVL,
694- LoopVectorizationCostModel *CM, BlockFrequencyInfo *BFI,
695- ProfileSummaryInfo *PSI, GeneratedRTChecks &Check)
696- : InnerLoopVectorizer(OrigLoop, PSE, LI, DT, TLI, TTI, AC, ORE,
697- ElementCount::getFixed (1 ),
698- ElementCount::getFixed(1 ), UnrollFactor, LVL, CM,
699- BFI, PSI, Check) {}
700- };
701-
702686// / Encapsulate information regarding vectorization of a loop and its epilogue.
703687// / This information is meant to be updated and used across two stages of
704688// / epilogue vectorization.
@@ -10107,8 +10091,9 @@ bool LoopVectorizePass::processLoop(Loop *L) {
1010710091 assert (IC > 1 && " interleave count should not be 1 or 0" );
1010810092 // If we decided that it is not legal to vectorize the loop, then
1010910093 // interleave it.
10110- InnerLoopUnroller Unroller (L, PSE, LI, DT, TLI, TTI, AC, ORE, IC, &LVL,
10111- &CM, BFI, PSI, Checks);
10094+ InnerLoopVectorizer Unroller (
10095+ L, PSE, LI, DT, TLI, TTI, AC, ORE, ElementCount::getFixed (1 ),
10096+ ElementCount::getFixed (1 ), IC, &LVL, &CM, BFI, PSI, Checks);
1011210097
1011310098 VPlan &BestPlan = LVP.getPlanFor (VF.Width );
1011410099 LVP.executePlan (VF.Width , IC, BestPlan, Unroller, DT, false );
0 commit comments