LLVM  12.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
llvm::VPUser Class Reference

This class augments VPValue with operands which provide the inverse def-use edges from VPValue's users to their defs. More...

#include "Transforms/Vectorize/VPlanValue.h"

Inheritance diagram for llvm::VPUser:
Inheritance graph
[legend]

Public Types

typedef SmallVectorImpl< VPValue * >::iterator operand_iterator
 
typedef SmallVectorImpl< VPValue * >::const_iterator const_operand_iterator
 
typedef iterator_range< operand_iteratoroperand_range
 
typedef iterator_range< const_operand_iteratorconst_operand_range
 

Public Member Functions

 VPUser ()
 
 VPUser (ArrayRef< VPValue * > Operands)
 
 VPUser (std::initializer_list< VPValue * > Operands)
 
template<typename IterT >
 VPUser (iterator_range< IterT > Operands)
 
 VPUser (const VPUser &)=delete
 
VPUseroperator= (const VPUser &)=delete
 
virtual ~VPUser ()
 
void addOperand (VPValue *Operand)
 
unsigned getNumOperands () const
 
VPValuegetOperand (unsigned N) const
 
void setOperand (unsigned I, VPValue *New)
 
operand_iterator op_begin ()
 
const_operand_iterator op_begin () const
 
operand_iterator op_end ()
 
const_operand_iterator op_end () const
 
operand_range operands ()
 
const_operand_range operands () const
 

Static Public Member Functions

static bool classof (const VPDef *Recipe)
 Method to support type inquiry through isa, cast, and dyn_cast. More...
 

Protected Member Functions

void printOperands (raw_ostream &O, VPSlotTracker &SlotTracker) const
 Print the operands to O. More...
 

Detailed Description

This class augments VPValue with operands which provide the inverse def-use edges from VPValue's users to their defs.

Definition at line 187 of file VPlanValue.h.

Member Typedef Documentation

◆ const_operand_iterator

Definition at line 233 of file VPlanValue.h.

◆ const_operand_range

Definition at line 235 of file VPlanValue.h.

◆ operand_iterator

Definition at line 232 of file VPlanValue.h.

◆ operand_range

Definition at line 234 of file VPlanValue.h.

Constructor & Destructor Documentation

◆ VPUser() [1/5]

llvm::VPUser::VPUser ( )
inline

Definition at line 195 of file VPlanValue.h.

◆ VPUser() [2/5]

llvm::VPUser::VPUser ( ArrayRef< VPValue * >  Operands)
inline

Definition at line 196 of file VPlanValue.h.

References addOperand(), and Operands.

◆ VPUser() [3/5]

llvm::VPUser::VPUser ( std::initializer_list< VPValue * >  Operands)
inline

Definition at line 201 of file VPlanValue.h.

References Operands.

◆ VPUser() [4/5]

template<typename IterT >
llvm::VPUser::VPUser ( iterator_range< IterT >  Operands)
inline

Definition at line 203 of file VPlanValue.h.

References addOperand(), and Operands.

◆ VPUser() [5/5]

llvm::VPUser::VPUser ( const VPUser )
delete

◆ ~VPUser()

virtual llvm::VPUser::~VPUser ( )
inlinevirtual

Definition at line 210 of file VPlanValue.h.

References operands().

Member Function Documentation

◆ addOperand()

void llvm::VPUser::addOperand ( VPValue Operand)
inline

◆ classof()

bool llvm::VPUser::classof ( const VPDef Recipe)
inlinestatic

Method to support type inquiry through isa, cast, and dyn_cast.

Definition at line 694 of file VPlan.h.

References llvm::tgtok::Def.

◆ getNumOperands()

unsigned llvm::VPUser::getNumOperands ( ) const
inline

◆ getOperand()

VPValue* llvm::VPUser::getOperand ( unsigned  N) const
inline

◆ op_begin() [1/2]

operand_iterator llvm::VPUser::op_begin ( )
inline

Definition at line 237 of file VPlanValue.h.

References Operands.

Referenced by llvm::VPInterleaveRecipe::getStoredValues(), and operands().

◆ op_begin() [2/2]

const_operand_iterator llvm::VPUser::op_begin ( ) const
inline

Definition at line 238 of file VPlanValue.h.

References Operands.

◆ op_end() [1/2]

operand_iterator llvm::VPUser::op_end ( )
inline

Definition at line 239 of file VPlanValue.h.

References Operands.

Referenced by operands().

◆ op_end() [2/2]

const_operand_iterator llvm::VPUser::op_end ( ) const
inline

Definition at line 240 of file VPlanValue.h.

References Operands.

◆ operands() [1/2]

operand_range llvm::VPUser::operands ( )
inline

◆ operands() [2/2]

const_operand_range llvm::VPUser::operands ( ) const
inline

Definition at line 242 of file VPlanValue.h.

References op_begin(), and op_end().

◆ operator=()

VPUser& llvm::VPUser::operator= ( const VPUser )
delete

◆ printOperands()

void VPUser::printOperands ( raw_ostream O,
VPSlotTracker SlotTracker 
) const
protected

◆ setOperand()

void llvm::VPUser::setOperand ( unsigned  I,
VPValue New 
)
inline

Definition at line 226 of file VPlanValue.h.

References I, and Operands.


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