LLVM  14.0.0git
Public Member Functions | List of all members
llvm::VPBlockUser Struct Reference

VPUsers instance used by VPBlockBase to manage CondBit and the block predicate. More...

#include "Transforms/Vectorize/VPlan.h"

Inheritance diagram for llvm::VPBlockUser:
Inheritance graph
[legend]
Collaboration diagram for llvm::VPBlockUser:
Collaboration graph
[legend]

Public Member Functions

 VPBlockUser ()
 
VPValuegetSingleOperandOrNull ()
 
const VPValuegetSingleOperandOrNull () const
 
void resetSingleOpUser (VPValue *NewVal)
 
- Public Member Functions inherited from llvm::VPUser
 VPUser ()=delete
 
 VPUser (const VPUser &)=delete
 
VPUseroperator= (const VPUser &)=delete
 
virtual ~VPUser ()
 
VPUserID getVPUserID () const
 
void addOperand (VPValue *Operand)
 
unsigned getNumOperands () const
 
VPValuegetOperand (unsigned N) const
 
void setOperand (unsigned I, VPValue *New)
 
void removeLastOperand ()
 
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
 

Additional Inherited Members

- Public Types inherited from llvm::VPUser
enum  VPUserID { VPUserID::Recipe, VPUserID::Block }
 Subclass identifier (for isa/dyn_cast). More...
 
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
 
- Static Public Member Functions inherited from llvm::VPUser
static bool classof (const VPDef *Recipe)
 Method to support type inquiry through isa, cast, and dyn_cast. More...
 
- Protected Member Functions inherited from llvm::VPUser
void printOperands (raw_ostream &O, VPSlotTracker &SlotTracker) const
 Print the operands to O. More...
 
 VPUser (ArrayRef< VPValue * > Operands, VPUserID ID)
 
 VPUser (std::initializer_list< VPValue * > Operands, VPUserID ID)
 
template<typename IterT >
 VPUser (iterator_range< IterT > Operands, VPUserID ID)
 

Detailed Description

VPUsers instance used by VPBlockBase to manage CondBit and the block predicate.

Currently VPBlockUsers are used in VPBlockBase for historical reasons, but in the future the only VPUsers should either be recipes or live-outs.VPBlockBase uses.

Definition at line 360 of file VPlan.h.

Constructor & Destructor Documentation

◆ VPBlockUser()

llvm::VPBlockUser::VPBlockUser ( )
inline

Definition at line 361 of file VPlan.h.

Member Function Documentation

◆ getSingleOperandOrNull() [1/2]

VPValue* llvm::VPBlockUser::getSingleOperandOrNull ( )
inline

◆ getSingleOperandOrNull() [2/2]

const VPValue* llvm::VPBlockUser::getSingleOperandOrNull ( ) const
inline

Definition at line 369 of file VPlan.h.

References llvm::VPUser::getNumOperands(), and llvm::VPUser::getOperand().

◆ resetSingleOpUser()

void llvm::VPBlockUser::resetSingleOpUser ( VPValue NewVal)
inline

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