[llvm] [VPlan] Hook IR blocks into VPlan during skeleton creation (NFC) (PR #114292)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 4 16:59:20 PST 2024
================
@@ -2502,14 +2522,15 @@ void InnerLoopVectorizer::emitIterationCountCheck(BasicBlock *Bypass) {
DT->getNode(Bypass)->getIDom()) &&
"TC check is expected to dominate Bypass");
- // Update dominator for Bypass & LoopExit (if needed).
- DT->changeImmediateDominator(Bypass, TCCheckBlock);
BranchInst &BI =
*BranchInst::Create(Bypass, LoopVectorPreHeader, CheckMinIters);
if (hasBranchWeightMD(*OrigLoop->getLoopLatch()->getTerminator()))
setBranchWeights(BI, MinItersBypassWeights, /*IsExpected=*/false);
ReplaceInstWithInst(TCCheckBlock->getTerminator(), &BI);
LoopBypassBlocks.push_back(TCCheckBlock);
+
+ // TODO: Wrap LoopVectorPreHeader in VPIRBasicBlock here.
+ introduceCheckBlockInVPlan(Plan, nullptr);
----------------
ayalz wrote:
```suggestion
introduceCheckBlockInVPlan(Plan, TCCheckBlock);
```
There is a check block, but it is introduced by fusing its conditional branch into Entry, rather than having a separate BB to be wrapped it in a VPIRBB.
https://github.com/llvm/llvm-project/pull/114292
More information about the llvm-commits
mailing list