diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h index d460573f5bec6..c5b214b355545 100644 --- a/llvm/lib/Transforms/Vectorize/VPlan.h +++ b/llvm/lib/Transforms/Vectorize/VPlan.h @@ -2346,6 +2346,9 @@ class VPInterleaveRecipe : public VPRecipeBase { DL), IG(IG), NeedsMaskForGaps(NeedsMaskForGaps) { + // TODO: extend the masked interleaved-group support to reversed access. + assert((!Mask || !IG->isReverse()) && + "Reversed masked interleave-group not supported."); for (unsigned i = 0; i < IG->getFactor(); ++i) if (Instruction *I = IG->getMember(i)) { if (I->getType()->isVoidTy()) diff --git a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp index 24f2d6a83c5e4..4f8caf604e78a 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp @@ -3418,11 +3418,7 @@ void VPInterleaveRecipe::execute(VPTransformState &State) { unsigned InterleaveFactor = Group->getFactor(); auto *VecTy = VectorType::get(ScalarTy, State.VF * InterleaveFactor); - // TODO: extend the masked interleaved-group support to reversed access. VPValue *BlockInMask = getMask(); - assert((!BlockInMask || !Group->isReverse()) && - "Reversed masked interleave-group not supported."); - VPValue *Addr = getAddr(); Value *ResAddr = State.get(Addr, VPLane(0)); if (auto *I = dyn_cast(ResAddr))