class VPPredInstPHIRecipe
Declaration
class VPPredInstPHIRecipe : public VPRecipeBase { /* full declaration omitted */ };
Description
VPPredInstPHIRecipe is a recipe for generating the phi nodes needed when control converges back from a Branch-on-Mask. The phi nodes are needed in order to merge values that are set under such a branch and feed their uses. The phi nodes can be scalar or vector depending on the users of the value. This recipe works in concert with VPBranchOnMaskRecipe.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:995
Inherits from: VPRecipeBase
Method Overview
- public VPPredInstPHIRecipe(llvm::Instruction * PredInst)
- 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 ~VPPredInstPHIRecipe()
Inherited from VPRecipeBase:
- public eraseFromParent
- public execute
- public getParent
- public getParent
- public getVPRecipeID
- public insertAfter
- public insertBefore
- public moveAfter
- public print
- public removeFromParent
Methods
¶VPPredInstPHIRecipe(llvm::Instruction* PredInst)
VPPredInstPHIRecipe(llvm::Instruction* PredInst)
Description
Construct a VPPredInstPHIRecipe given \p PredInst whose value needs a phi nodes after merging back from a Branch-on-Mask.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1002
Parameters
- llvm::Instruction* PredInst
¶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:1007
Parameters
- const llvm::VPRecipeBase* V
¶void execute(llvm::VPTransformState& State)
void execute(llvm::VPTransformState& State)
Description
Generates phi nodes for live-outs as needed to retain SSA form.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1012
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:1015
Parameters
- llvm::raw_ostream& O
- const llvm::Twine& Indent
¶~VPPredInstPHIRecipe()
~VPPredInstPHIRecipe()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1004