diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h --- a/llvm/lib/Transforms/Vectorize/VPlan.h +++ b/llvm/lib/Transforms/Vectorize/VPlan.h @@ -858,13 +858,16 @@ }; /// A recipe for widening Call instructions. -class VPWidenCallRecipe : public VPRecipeBase, public VPValue, public VPUser { +class VPWidenCallRecipe : public VPRecipeBase, + public VPDef, + public VPUser, + public VPValue { public: template VPWidenCallRecipe(CallInst &I, iterator_range CallArguments) - : VPRecipeBase(VPRecipeBase::VPWidenCallSC), - VPValue(VPValue::VPVWidenCallSC, &I), VPUser(CallArguments) {} + : VPRecipeBase(VPRecipeBase::VPWidenCallSC), VPUser(CallArguments), + VPValue(VPValue::VPVWidenCallSC, &I, this) {} ~VPWidenCallRecipe() override = default;