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:

Methods

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)

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()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1102

inline const llvm::VPRecipeBase& back() const

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1101

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

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1088

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

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1098

inline llvm::VPBasicBlock::iterator end()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1089

inline llvm::VPBasicBlock::const_iterator end()
    const

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1090

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

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1099

inline llvm::VPRecipeBase& front()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1100

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*)

Description

Returns a pointer to a member of the recipe list.

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1108

Parameters

llvm::VPRecipeBase*

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

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1093

inline llvm::VPBasicBlock::reverse_iterator
rbegin()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1092

inline llvm::VPBasicBlock::const_reverse_iterator
rend() const

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1095

inline llvm::VPBasicBlock::reverse_iterator rend()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1094

inline size_t size() const

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1097

~VPBasicBlock()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1076