diff --git a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp index 22e02abf229d7..e534da813fe5a 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp @@ -2296,7 +2296,7 @@ static void transformRecipestoEVLRecipes(VPlan &Plan, VPValue &EVL) { } // Remove dead EVL mask. if (EVLMask->getNumUsers() == 0) - EVLMask->getDefiningRecipe()->eraseFromParent(); + ToErase.push_back(EVLMask->getDefiningRecipe()); for (VPRecipeBase *R : reverse(ToErase)) { SmallVector PossiblyDead(R->operands());