[llvm] [VPlan] Simplify the computation of the block entry mask. (PR #173265)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 11 00:29:49 PST 2026
================
@@ -128,16 +138,22 @@ VPValue *VPPredicator::createEdgeMask(VPBasicBlock *Src, VPBasicBlock *Dst) {
return setEdgeMask(Src, Dst, EdgeMask);
}
-VPValue *VPPredicator::createBlockInMask(VPBasicBlock *VPBB) {
+void VPPredicator::createIncomingEdgeMasks(VPBasicBlock *VPBB) {
// Start inserting after the block's phis, which be replaced by blends later.
Builder.setInsertPoint(VPBB, VPBB->getFirstNonPhi());
+ for (auto *Predecessor : SetVector<VPBlockBase *>(
----------------
lukel97 wrote:
Ideally we shouldn't need to eagerly create the edge masks and we can instead just change convertPhisToBlends to use createEdgeMask instead of getEdgeMask to compute them on demand.
But I see the regression you are mentioning, and I've opened up https://github.com/llvm/llvm-project/pull/180898 which should prevent the need to eagerly create the edge masks. We can land it either before after this PR, it's not blocking.
https://github.com/llvm/llvm-project/pull/173265
More information about the llvm-commits
mailing list