@@ -512,13 +512,14 @@ class InnerLoopVectorizer {
512
512
// / Fix the non-induction PHIs in \p Plan.
513
513
void fixNonInductionPHIs (VPTransformState &State);
514
514
515
- // / Create a new phi node for the induction variable \p OrigPhi to resume
516
- // / iteration count in the scalar epilogue, from where the vectorized loop
517
- // / left off. \p Step is the SCEV-expanded induction step to use. In cases
518
- // / where the loop skeleton is more complicated (i.e., epilogue vectorization)
519
- // / and the resume values can come from an additional bypass block, the \p
520
- // / AdditionalBypass pair provides information about the bypass block and the
521
- // / end value on the edge from bypass to this loop.
515
+ // / Create a ResumePHI VPInstruction for the induction variable \p OrigPhi to
516
+ // / resume iteration count in the scalar epilogue, from where the vectorized
517
+ // / loop left off and add it the scalar preheader of the VPlan. \p Step is the
518
+ // / SCEV-expanded induction step to use. In cases where the loop skeleton is
519
+ // / more complicated (i.e., epilogue vectorization) and the resume values can
520
+ // / come from an additional bypass block, the \p AdditionalBypass pair
521
+ // / provides information about the bypass block and the end value on the edge
522
+ // / from bypass to this loop.
522
523
void createInductionResumeValue (
523
524
PHINode *OrigPhi, const InductionDescriptor &ID, Value *Step,
524
525
ArrayRef<BasicBlock *> BypassBlocks, VPBuilder &ScalarPHBuilder,
0 commit comments