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 @@ -1129,6 +1129,16 @@ /// phis for first order recurrences, pointer inductions and reductions. The /// start value is the first operand of the recipe and the incoming value from /// the backedge is the second operand. +/// +/// Inductions are modeled using the following sub-classes: +/// * VPCanonicalIVPHIRecipe: Canonical scalar induction of the vector loop, +/// starting at a specified value and stepping by 1. +/// * VPWidenIntOrFpInductionRecipe: Generates vector values for integer and +/// floating point inductions with arbitrary start and step values. +/// * VPScalarIVStepsRecipe: Generates scalar values for integer and floating +/// point inductions with arbitrary start and step values. +/// * VPWidenPointerInductionRecipe: Generate vector and scalar values for a +/// pointer induction. class VPHeaderPHIRecipe : public VPRecipeBase, public VPValue { protected: VPHeaderPHIRecipe(unsigned char VPVID, unsigned char VPDefID, PHINode *Phi,