LLVM: llvm::VPDef Class Reference (original) (raw)

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

#include "[Transforms/Vectorize/VPlanValue.h](VPlanValue%5F8h%5Fsource.html)"

Public Types
using VPRecipeTy
An enumeration for keeping track of the concrete subclass of VPRecipeBase that is actually instantiated.
Public Member Functions
VPDef (const unsigned char SC)
virtual ~VPDef ()
VPValue * getVPSingleValue ()
Returns the only VPValue defined by the VPDef.
const VPValue * getVPSingleValue () const
VPValue * getVPValue (unsigned I)
Returns the VPValue with index I defined by the VPDef.
const VPValue * getVPValue (unsigned I) const
ArrayRef< VPValue * > definedValues ()
Returns an ArrayRef of the values defined by the VPDef.
ArrayRef< VPValue * > definedValues () const
Returns an ArrayRef of the values defined by the VPDef.
unsigned getNumDefinedValues () const
Returns the number of values defined by the VPDef.
unsigned getVPDefID () const
LLVM_ABI_FOR_TEST void dump () const
Dump the VPDef to stderr (for debugging).
virtual void print (raw_ostream &O, const Twine &Indent, VPSlotTracker &SlotTracker) const =0
Each concrete VPDef prints itself.

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 310 of file VPlanValue.h.

VPRecipeTy

An enumeration for keeping track of the concrete subclass of VPRecipeBase that is actually instantiated.

Values of this enumeration are kept in the SubclassID field of the VPRecipeBase objects. They are used for concrete type identification.

Definition at line 341 of file VPlanValue.h.

~VPDef()

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

definedValues() [1/2]

definedValues() [2/2]

dump()

void VPDef::dump ( ) const

getNumDefinedValues()

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

getVPDefID()

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

getVPSingleValue() [1/2]

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

Returns the only VPValue defined by the VPDef.

Can only be called for VPDefs with a single defined value.

Definition at line 404 of file VPlanValue.h.

References assert(), and VPValue.

Referenced by llvm::VPlanTransforms::createInterleaveGroups(), llvm::VPlanTransforms::dropPoisonGeneratingRecipes(), hoistPreviousBeforeFORUsers(), llvm::VPRecipeBase::mayHaveSideEffects(), llvm::VPRecipeBase::mayReadFromMemory(), llvm::VPRecipeBase::mayWriteToMemory(), optimizeMaskToEVL(), simplifyRecipe(), sinkRecurrenceUsersAfterPrevious(), and llvm::VPlanTransforms::tryToConvertVPInstructionsToVPRecipes().

getVPSingleValue() [2/2]

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

getVPValue() [1/2]

getVPValue() [2/2]

print()

VPValue


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