/// Complete the loop skeleton by adding debug MDs, creating appropriate
/// conditional branches in the middle block, preparing the builder and
/// running the verifier. Return the preheader of the completed vector loop.
- BasicBlock *completeLoopSkeleton(MDNode *OrigLoopID);
+ BasicBlock *completeLoopSkeleton();
/// Collect poison-generating recipes that may generate a poison value that is
/// used after vectorization, even when their operands are not poison. Those
}
}
-BasicBlock *InnerLoopVectorizer::completeLoopSkeleton(MDNode *OrigLoopID) {
+BasicBlock *InnerLoopVectorizer::completeLoopSkeleton() {
// The trip counts should be cached by now.
Value *Count = getOrCreateTripCount(LoopVectorPreHeader);
Value *VectorTripCount = getOrCreateVectorTripCount(LoopVectorPreHeader);
// Emit phis for the new starting index of the scalar loop.
createInductionResumeValues();
- return {completeLoopSkeleton(OrigLoopID), nullptr};
+ return {completeLoopSkeleton(), nullptr};
}
// Fix up external users of the induction variable. At this point, we are
// because the vplan in the second pass still contains the inductions from the
// original loop.
- return {completeLoopSkeleton(OrigLoopID), nullptr};
+ return {completeLoopSkeleton(), nullptr};
}
void EpilogueVectorizerMainLoop::printDebugTracesAtStart() {
createInductionResumeValues({VecEpilogueIterationCountCheck,
EPI.VectorTripCount} /* AdditionalBypass */);
- return {completeLoopSkeleton(OrigLoopID), EPResumeVal};
+ return {completeLoopSkeleton(), EPResumeVal};
}
BasicBlock *