class VPRecipeBase
Declaration
class VPRecipeBase : public ilist_node_with_parent { /* full declaration omitted */ };
Description
VPRecipeBase is a base class modeling a sequence of one or more output IR instructions.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:578
Inherits from: ilist_node_with_parent
Method Overview
- public VPRecipeBase(const unsigned char SC)
- public iplist<VPRecipeBase>::iterator eraseFromParent()
- public virtual void execute(struct VPTransformState & State)
- public llvm::VPBasicBlock * getParent()
- public const llvm::VPBasicBlock * getParent() const
- public unsigned int getVPRecipeID() const
- public void insertAfter(llvm::VPRecipeBase * InsertPos)
- public void insertBefore(llvm::VPRecipeBase * InsertPos)
- public void moveAfter(llvm::VPRecipeBase * MovePos)
- public virtual void print(llvm::raw_ostream & O, const llvm::Twine & Indent) const
- public void removeFromParent()
- public virtual ~VPRecipeBase()
Methods
¶VPRecipeBase(const unsigned char SC)
VPRecipeBase(const unsigned char SC)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:607
Parameters
- const unsigned char SC
¶iplist<VPRecipeBase>::iterator eraseFromParent()
iplist<VPRecipeBase>::iterator eraseFromParent()
Description
This method unlinks 'this' from the containing basic block and deletes it.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:645
Returns
an iterator pointing to the element after the erased one
¶virtual void execute(
struct VPTransformState& State)
virtual void execute(
struct VPTransformState& State)
Description
The method which generates the output IR instructions that correspond to this VPRecipe, thereby "executing" the VPlan.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:621
Parameters
- struct VPTransformState& State
¶llvm::VPBasicBlock* getParent()
llvm::VPBasicBlock* getParent()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:616
Returns
the VPBasicBlock which this VPRecipe belongs to.
¶const llvm::VPBasicBlock* getParent() const
const llvm::VPBasicBlock* getParent() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:617
¶unsigned int getVPRecipeID() const
unsigned int getVPRecipeID() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:613
Returns
an ID for the concrete type of this object. This is used to implement the classof checks. This should not be used for any other purpose, as the values may change as LLVM evolves.
¶void insertAfter(llvm::VPRecipeBase* InsertPos)
void insertAfter(llvm::VPRecipeBase* InsertPos)
Description
Insert an unlinked Recipe into a basic block immediately after the specified Recipe.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:632
Parameters
- llvm::VPRecipeBase* InsertPos
¶void insertBefore(llvm::VPRecipeBase* InsertPos)
void insertBefore(llvm::VPRecipeBase* InsertPos)
Description
Insert an unlinked recipe into a basic block immediately before the specified recipe.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:628
Parameters
- llvm::VPRecipeBase* InsertPos
¶void moveAfter(llvm::VPRecipeBase* MovePos)
void moveAfter(llvm::VPRecipeBase* MovePos)
Description
Unlink this recipe from its current VPBasicBlock and insert it into the VPBasicBlock that MovePos lives in, right after MovePos.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:636
Parameters
- llvm::VPRecipeBase* MovePos
¶virtual void print(
llvm::raw_ostream& O,
const llvm::Twine& Indent) const
virtual void print(
llvm::raw_ostream& O,
const llvm::Twine& Indent) const
Description
Each recipe prints itself.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:624
Parameters
- llvm::raw_ostream& O
- const llvm::Twine& Indent
¶void removeFromParent()
void removeFromParent()
Description
This method unlinks 'this' from the containing basic block, but does not delete it.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:640
¶virtual ~VPRecipeBase()
virtual ~VPRecipeBase()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:608