[llvm] [VPlan] Model branch cond to enter scalar epilogue in VPlan. (PR #92651)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 17 10:52:29 PDT 2024


================
@@ -7458,6 +7403,21 @@ LoopVectorizationPlanner::executePlan(
   std::tie(State.CFG.PrevBB, CanonicalIVStartValue) =
       ILV.createVectorizedLoopSkeleton(ExpandedSCEVs ? *ExpandedSCEVs
                                                      : State.ExpandedSCEVs);
+#ifdef EXPENSIVE_CHECKS
+  assert(DT->verify(DominatorTree::VerificationLevel::Fast));
+#endif
+
+  VPBasicBlock *MiddleVPBB =
+      cast<VPBasicBlock>(BestVPlan.getVectorLoopRegion()->getSingleSuccessor());
----------------
fhahn wrote:

Split off a patch that uses VPIRBasicBlock for middle.block in https://github.com/llvm/llvm-project/pull/95816. It might be cleaner to create a regular VPBasicBlock first if the IR basic block hasn't been created yet and later replace it with a VPIRBasicBlock?

https://github.com/llvm/llvm-project/pull/92651


More information about the llvm-commits mailing list