[llvm] [VPlan] Strip VPDT-assert forbidding replicate regions (NFC) (PR #189342)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 30 02:31:00 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-transforms
@llvm/pr-subscribers-vectorizers
Author: Ramkumar Ramachandra (artagnon)
<details>
<summary>Changes</summary>
VPDominatorTree::properlyDominates currently unnecessarily forbids replicate regions, as there is no such limitation either in the parent DominatorTree, or in VPlanCFG. Strip the assert entirely.
---
Full diff: https://github.com/llvm/llvm-project/pull/189342.diff
1 Files Affected:
- (modified) llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp (-18)
``````````diff
diff --git a/llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp b/llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
index 9667227a329ac..2f6377614a9bf 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
+++ b/llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
@@ -391,24 +391,6 @@ bool VPDominatorTree::properlyDominates(const VPRecipeBase *A,
if (ParentA == ParentB)
return LocalComesBefore(A, B);
-#ifndef NDEBUG
- auto GetReplicateRegion = [](VPRecipeBase *R) -> VPRegionBlock * {
- VPRegionBlock *Region = R->getRegion();
- if (Region && Region->isReplicator()) {
- assert(Region->getNumSuccessors() == 1 &&
- Region->getNumPredecessors() == 1 && "Expected SESE region!");
- assert(R->getParent()->size() == 1 &&
- "A recipe in an original replicator region must be the only "
- "recipe in its block");
- return Region;
- }
- return nullptr;
- };
- assert(!GetReplicateRegion(const_cast<VPRecipeBase *>(A)) &&
- "No replicate regions expected at this point");
- assert(!GetReplicateRegion(const_cast<VPRecipeBase *>(B)) &&
- "No replicate regions expected at this point");
-#endif
return Base::properlyDominates(ParentA, ParentB);
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/189342
More information about the llvm-commits
mailing list