[llvm] [VPlan] Update scalar induction resume values in VPlan. (PR #110577)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 4 09:02:10 PST 2024
================
@@ -7621,21 +7646,8 @@ static void fixReductionScalarResumeWhenVectorizingEpilog(
auto *EpiResumePhiVPI =
cast<VPInstruction>(*find_if(EpiRedResult->users(), IsResumePhi));
auto *EpiResumePhi = cast<PHINode>(State.get(EpiResumePhiVPI, true));
- BasicBlock *LoopScalarPreHeader = EpiResumePhi->getParent();
- bool Updated = false;
- for (auto *Incoming : predecessors(LoopScalarPreHeader)) {
- if (is_contained(MainResumePhi->blocks(), Incoming)) {
- assert(EpiResumePhi->getIncomingValueForBlock(Incoming) ==
- RdxDesc.getRecurrenceStartValue() &&
- "Trying to reset unexpected value");
- assert(!Updated && "Should update at most 1 incoming value");
- EpiResumePhi->setIncomingValueForBlock(
- Incoming, MainResumePhi->getIncomingValueForBlock(Incoming));
- Updated = true;
- }
- }
- assert(Updated && "Must update EpiResumePhi.");
- (void)Updated;
+ EpiResumePhi->setIncomingValueForBlock(
+ BypassBlock, MainResumePhi->getIncomingValueForBlock(BypassBlock));
----------------
ayalz wrote:
Nice cleanup of searching for BypassBlock!
https://github.com/llvm/llvm-project/pull/110577
More information about the llvm-commits
mailing list