class VPReplicateRecipe
Declaration
class VPReplicateRecipe : public VPRecipeBase { /* full declaration omitted */ };
Description
VPReplicateRecipe replicates a given instruction producing multiple scalar copies of the original scalar type, one per lane, instead of producing a single copy of widened type for all lanes. If the instruction is known to be uniform only one copy, per lane zero, will be generated.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:915
Inherits from: VPRecipeBase
Method Overview
- public VPReplicateRecipe(llvm::Instruction * I, bool IsUniform, bool IsPredicated = false)
- public static inline bool classof(const llvm::VPRecipeBase * V)
- public void execute(llvm::VPTransformState & State)
- public void print(llvm::raw_ostream & O, const llvm::Twine & Indent) const
- public void setAlsoPack(bool Pack)
- public ~VPReplicateRecipe()
Inherited from VPRecipeBase:
- public eraseFromParent
- public execute
- public getParent
- public getParent
- public getVPRecipeID
- public insertAfter
- public insertBefore
- public moveAfter
- public print
- public removeFromParent
Methods
¶VPReplicateRecipe(llvm::Instruction* I,
bool IsUniform,
bool IsPredicated = false)
VPReplicateRecipe(llvm::Instruction* I,
bool IsUniform,
bool IsPredicated = false)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:930
Parameters
- llvm::Instruction* I
- bool IsUniform
- bool IsPredicated = false
¶static inline bool classof(
const llvm::VPRecipeBase* V)
static inline bool classof(
const llvm::VPRecipeBase* V)
Description
Method to support type inquiry through isa, cast, and dyn_cast.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:944
Parameters
- const llvm::VPRecipeBase* V
¶void execute(llvm::VPTransformState& State)
void execute(llvm::VPTransformState& State)
Description
Generate replicas of the desired Ingredient. Replicas will be generated for all parts and lanes unless a specific part and lane are specified in the \p State.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:951
Parameters
- llvm::VPTransformState& State
¶void print(llvm::raw_ostream& O,
const llvm::Twine& Indent) const
void print(llvm::raw_ostream& O,
const llvm::Twine& Indent) const
Description
Print the recipe.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:956
Parameters
- llvm::raw_ostream& O
- const llvm::Twine& Indent
¶void setAlsoPack(bool Pack)
void setAlsoPack(bool Pack)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:953
Parameters
- bool Pack
¶~VPReplicateRecipe()
~VPReplicateRecipe()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:941