class VPBasicBlock
Declaration
class VPBasicBlock : public VPBlockBase { /* full declaration omitted */ };
Description
VPBasicBlock serves as the leaf of the Hierarchical Control-Flow Graph. It holds a sequence of zero or more VPRecipe's each representing a sequence of output IR instructions.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1061
Inherits from: VPBlockBase
Method Overview
- public VPBasicBlock(const llvm::Twine & Name = "", llvm::VPRecipeBase * Recipe = nullptr)
- public void appendRecipe(llvm::VPRecipeBase * Recipe)
- public inline llvm::VPRecipeBase & back()
- public inline const llvm::VPRecipeBase & back() const
- public inline llvm::VPBasicBlock::iterator begin()
- public inline llvm::VPBasicBlock::const_iterator begin() const
- public static inline bool classof(const llvm::VPBlockBase * V)
- public inline bool empty() const
- public inline llvm::VPBasicBlock::iterator end()
- public inline llvm::VPBasicBlock::const_iterator end() const
- public void execute(struct VPTransformState * State)
- public inline const llvm::VPRecipeBase & front() const
- public inline llvm::VPRecipeBase & front()
- public llvm::VPBasicBlock::RecipeListTy & getRecipeList()
- public static llvm::VPBasicBlock::RecipeListTy llvm::VPBasicBlock::* getSublistAccess(llvm::VPRecipeBase *)
- public void insert(llvm::VPRecipeBase * Recipe, llvm::VPBasicBlock::iterator InsertPt)
- public inline llvm::VPBasicBlock::const_reverse_iterator rbegin() const
- public inline llvm::VPBasicBlock::reverse_iterator rbegin()
- public inline llvm::VPBasicBlock::const_reverse_iterator rend() const
- public inline llvm::VPBasicBlock::reverse_iterator rend()
- public inline size_t size() const
- public ~VPBasicBlock()
Inherited from VPBlockBase:
- public clearPredecessors
- public clearSuccessors
- public deleteCFG
- public execute
- public getCondBit
- public getCondBit
- public getEnclosingBlockWithPredecessors
- public getEnclosingBlockWithSuccessors
- public getEntryBasicBlock
- public getEntryBasicBlock
- public getExitBasicBlock
- public getExitBasicBlock
- public getHierarchicalPredecessors
- public getHierarchicalSuccessors
- public getName
- public getNumPredecessors
- public getNumSuccessors
- public getParent
- public getParent
- public getPredecessors
- public getPredecessors
- public getPredicate
- public getPredicate
- public getSingleHierarchicalPredecessor
- public getSingleHierarchicalSuccessor
- public getSinglePredecessor
- public getSingleSuccessor
- public getSuccessors
- public getSuccessors
- public getVPBlockID
- public isLegalToHoistInto
- public print
- public printAsOperand
- public setCondBit
- public setName
- public setOneSuccessor
- public setParent
- public setPredecessors
- public setPredicate
- public setTwoSuccessors
Methods
¶VPBasicBlock(const llvm::Twine& Name = "",
llvm::VPRecipeBase* Recipe = nullptr)
VPBasicBlock(const llvm::Twine& Name = "",
llvm::VPRecipeBase* Recipe = nullptr)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1070
Parameters
- const llvm::Twine& Name = ""
- llvm::VPRecipeBase* Recipe = nullptr
¶void appendRecipe(llvm::VPRecipeBase* Recipe)
void appendRecipe(llvm::VPRecipeBase* Recipe)
Description
Augment the existing recipes of a VPBasicBlock with an additional\p Recipe as the last recipe.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1126
Parameters
- llvm::VPRecipeBase* Recipe
¶inline llvm::VPRecipeBase& back()
inline llvm::VPRecipeBase& back()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1102
¶inline const llvm::VPRecipeBase& back() const
inline const llvm::VPRecipeBase& back() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1101
¶inline llvm::VPBasicBlock::iterator begin()
inline llvm::VPBasicBlock::iterator begin()
Description
Recipe iterator methods
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1087
¶inline llvm::VPBasicBlock::const_iterator begin()
const
inline llvm::VPBasicBlock::const_iterator begin()
const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1088
¶static inline bool classof(
const llvm::VPBlockBase* V)
static inline bool classof(
const llvm::VPBlockBase* V)
Description
Method to support type inquiry through isa, cast, and dyn_cast.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1113
Parameters
- const llvm::VPBlockBase* V
¶inline bool empty() const
inline bool empty() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1098
¶inline llvm::VPBasicBlock::iterator end()
inline llvm::VPBasicBlock::iterator end()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1089
¶inline llvm::VPBasicBlock::const_iterator end()
const
inline llvm::VPBasicBlock::const_iterator end()
const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1090
¶void execute(struct VPTransformState* State)
void execute(struct VPTransformState* State)
Description
The method which generates the output IR instructions that correspond to this VPBasicBlock, thereby "executing" the VPlan.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1130
Parameters
- struct VPTransformState* State
¶inline const llvm::VPRecipeBase& front() const
inline const llvm::VPRecipeBase& front() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1099
¶inline llvm::VPRecipeBase& front()
inline llvm::VPRecipeBase& front()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1100
¶llvm::VPBasicBlock::RecipeListTy& getRecipeList()
llvm::VPBasicBlock::RecipeListTy& getRecipeList()
Description
Returns a reference to the list of recipes.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1105
¶static llvm::VPBasicBlock::RecipeListTy
llvm::VPBasicBlock::*
getSublistAccess(llvm::VPRecipeBase*)
static llvm::VPBasicBlock::RecipeListTy
llvm::VPBasicBlock::*
getSublistAccess(llvm::VPRecipeBase*)
Description
Returns a pointer to a member of the recipe list.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1108
Parameters
¶void insert(llvm::VPRecipeBase* Recipe,
llvm::VPBasicBlock::iterator InsertPt)
void insert(llvm::VPRecipeBase* Recipe,
llvm::VPBasicBlock::iterator InsertPt)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1117
Parameters
- llvm::VPRecipeBase* Recipe
- llvm::VPBasicBlock::iterator InsertPt
¶inline llvm::VPBasicBlock::const_reverse_iterator
rbegin() const
inline llvm::VPBasicBlock::const_reverse_iterator
rbegin() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1093
¶inline llvm::VPBasicBlock::reverse_iterator
rbegin()
inline llvm::VPBasicBlock::reverse_iterator
rbegin()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1092
¶inline llvm::VPBasicBlock::const_reverse_iterator
rend() const
inline llvm::VPBasicBlock::const_reverse_iterator
rend() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1095
¶inline llvm::VPBasicBlock::reverse_iterator rend()
inline llvm::VPBasicBlock::reverse_iterator rend()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1094
¶inline size_t size() const
inline size_t size() const
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1097
¶~VPBasicBlock()
~VPBasicBlock()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1076