LLVM 23.0.0git
llvm::VPDef Class Reference

This class augments a recipe with a set of VPValues defined by the recipe. More...

#include "Transforms/Vectorize/VPlanValue.h"

Inheritance diagram for llvm::VPDef:
[legend]

Public Member Functions

 VPDef ()
virtual ~VPDef ()
VPValuegetVPSingleValue ()
 Returns the only VPValue defined by the VPDef.
const VPValuegetVPSingleValue () const
VPValuegetVPValue (unsigned I)
 Returns the VPValue with index I defined by the VPDef.
const VPValuegetVPValue (unsigned I) const
ArrayRef< VPRecipeValue * > definedValues ()
 Returns an ArrayRef of the values defined by the VPDef.
ArrayRef< VPRecipeValue * > definedValues () const
 Returns an ArrayRef of the values defined by the VPDef.
unsigned getNumDefinedValues () const
 Returns the number of values defined by the VPDef.

Friends

class VPRecipeValue

Detailed Description

This class augments a recipe with a set of VPValues defined by the recipe.

It allows recipes to define zero, one or multiple VPValues. A VPDef owns the VPValues it defines and is responsible for deleting its defined values. Single-value VPDefs that also inherit from VPValue must make sure to inherit from VPDef before VPValue.

Definition at line 361 of file VPlanValue.h.

Constructor & Destructor Documentation

◆ VPDef()

llvm::VPDef::VPDef ( )
inline

Definition at line 386 of file VPlanValue.h.

Referenced by llvm::VPRecipeBase::classof(), and llvm::VPRecipeBase::VPRecipeBase().

◆ ~VPDef()

virtual llvm::VPDef::~VPDef ( )
inlinevirtual

Definition at line 388 of file VPlanValue.h.

References assert(), D(), llvm::to_vector(), and VPRecipeValue.

Member Function Documentation

◆ definedValues() [1/2]

ArrayRef< VPRecipeValue * > llvm::VPDef::definedValues ( )
inline

Returns an ArrayRef of the values defined by the VPDef.

Definition at line 422 of file VPlanValue.h.

Referenced by collectUsersRecursively(), llvm::VPInterleaveRecipe::execute(), and isConsecutiveInterleaveGroup().

◆ definedValues() [2/2]

ArrayRef< VPRecipeValue * > llvm::VPDef::definedValues ( ) const
inline

Returns an ArrayRef of the values defined by the VPDef.

Definition at line 424 of file VPlanValue.h.

◆ getNumDefinedValues()

unsigned llvm::VPDef::getNumDefinedValues ( ) const
inline

◆ getVPSingleValue() [1/2]

◆ getVPSingleValue() [2/2]

const VPValue * llvm::VPDef::getVPSingleValue ( ) const
inline

Definition at line 405 of file VPlanValue.h.

References assert().

◆ getVPValue() [1/2]

VPValue * llvm::VPDef::getVPValue ( unsigned I)
inline

◆ getVPValue() [2/2]

const VPValue * llvm::VPDef::getVPValue ( unsigned I) const
inline

Definition at line 416 of file VPlanValue.h.

References assert(), and I.

◆ VPRecipeValue

friend class VPRecipeValue
friend

Definition at line 362 of file VPlanValue.h.

References VPRecipeValue.

Referenced by VPRecipeValue, and ~VPDef().


The documentation for this class was generated from the following file: