[llvm] [VPlan] Add incoming_[blocks,values] iterators to VPPhiAccessors (NFC) (PR #138472)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 6 19:45:39 PDT 2025
================
@@ -238,14 +238,11 @@ void VPPredicator::convertPhisToBlends(VPBasicBlock *VPBB) {
// optimizations will clean it up.
SmallVector<VPValue *, 2> OperandsWithMask;
- unsigned NumIncoming = PhiR->getNumIncoming();
- for (unsigned In = 0; In < NumIncoming; In++) {
- const VPBasicBlock *Pred = PhiR->getIncomingBlock(In);
- OperandsWithMask.push_back(PhiR->getIncomingValue(In));
- VPValue *EdgeMask = getEdgeMask(Pred, VPBB);
+ for (const auto &[InVPV, InVPBB] : PhiR->incoming_values_and_blocks()) {
+ OperandsWithMask.push_back(InVPV);
+ VPValue *EdgeMask = getEdgeMask(InVPBB, VPBB);
if (!EdgeMask) {
- assert(In == 0 && "Both null and non-null edge masks found");
----------------
lukel97 wrote:
I guess there's not an easy way to preserve this assert?
https://github.com/llvm/llvm-project/pull/138472
More information about the llvm-commits
mailing list