LLVM  7.0.0svn
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
llvm::VPValue Class Reference

#include "Transforms/Vectorize/VPlanValue.h"

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

Public Types

enum  { VPValueSC, VPUserSC, VPInstructionSC }
 An enumeration for keeping track of the concrete subclass of VPValue that are actually instantiated. More...
 
typedef SmallVectorImpl< VPUser * >::iterator user_iterator
 
typedef SmallVectorImpl< VPUser * >::const_iterator const_user_iterator
 
typedef iterator_range< user_iteratoruser_range
 
typedef iterator_range< const_user_iteratorconst_user_range
 

Public Member Functions

 VPValue (Value *UV=nullptr)
 
 VPValue (const VPValue &)=delete
 
VPValueoperator= (const VPValue &)=delete
 
unsigned getVPValueID () const
 
void printAsOperand (raw_ostream &OS) const
 
unsigned getNumUsers () const
 
void addUser (VPUser &User)
 
user_iterator user_begin ()
 
const_user_iterator user_begin () const
 
user_iterator user_end ()
 
const_user_iterator user_end () const
 
user_range users ()
 
const_user_range users () const
 

Protected Member Functions

 VPValue (const unsigned char SC, Value *UV=nullptr)
 
ValuegetUnderlyingValue ()
 Return the underlying Value attached to this VPValue. More...
 
void setUnderlyingValue (Value *Val)
 

Protected Attributes

ValueUnderlyingVal
 

Friends

class VPBuilder
 

Detailed Description

Definition at line 39 of file VPlanValue.h.

Member Typedef Documentation

◆ const_user_iterator

Definition at line 93 of file VPlanValue.h.

◆ const_user_range

Definition at line 95 of file VPlanValue.h.

◆ user_iterator

Definition at line 92 of file VPlanValue.h.

◆ user_range

Definition at line 94 of file VPlanValue.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

An enumeration for keeping track of the concrete subclass of VPValue that are actually instantiated.

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

Enumerator
VPValueSC 
VPUserSC 
VPInstructionSC 

Definition at line 74 of file VPlanValue.h.

Constructor & Destructor Documentation

◆ VPValue() [1/3]

llvm::VPValue::VPValue ( const unsigned char  SC,
Value UV = nullptr 
)
inlineprotected

Definition at line 50 of file VPlanValue.h.

Referenced by VPValue().

◆ VPValue() [2/3]

llvm::VPValue::VPValue ( Value UV = nullptr)
inline

Definition at line 76 of file VPlanValue.h.

References operator=(), and VPValue().

◆ VPValue() [3/3]

llvm::VPValue::VPValue ( const VPValue )
delete

Member Function Documentation

◆ addUser()

void llvm::VPValue::addUser ( VPUser User)
inline

◆ getNumUsers()

unsigned llvm::VPValue::getNumUsers ( ) const
inline

Definition at line 89 of file VPlanValue.h.

References llvm::SmallVectorTemplateCommon< T >::size().

◆ getUnderlyingValue()

Value* llvm::VPValue::getUnderlyingValue ( )
inlineprotected

Return the underlying Value attached to this VPValue.

Definition at line 61 of file VPlanValue.h.

References UnderlyingVal.

◆ getVPValueID()

unsigned llvm::VPValue::getVPValueID ( ) const
inline
Returns
an ID for the concrete type of this object. This is used to implement the classof checks. This should not be used for any other purpose, as the values may change as LLVM evolves.

Definition at line 83 of file VPlanValue.h.

Referenced by llvm::VPUser::classof(), and llvm::VPInstruction::classof().

◆ operator=()

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

Referenced by llvm::VPUser::VPUser(), and VPValue().

◆ printAsOperand()

void llvm::VPValue::printAsOperand ( raw_ostream OS) const
inline

Definition at line 85 of file VPlanValue.h.

Referenced by llvm::operator<<().

◆ setUnderlyingValue()

void llvm::VPValue::setUnderlyingValue ( Value Val)
inlineprotected

Definition at line 64 of file VPlanValue.h.

References assert().

Referenced by llvm::VPBuilder::createNaryOp().

◆ user_begin() [1/2]

user_iterator llvm::VPValue::user_begin ( )
inline

Definition at line 97 of file VPlanValue.h.

References llvm::SmallVectorTemplateCommon< T >::begin().

Referenced by users().

◆ user_begin() [2/2]

const_user_iterator llvm::VPValue::user_begin ( ) const
inline

Definition at line 98 of file VPlanValue.h.

References llvm::SmallVectorTemplateCommon< T >::begin().

◆ user_end() [1/2]

user_iterator llvm::VPValue::user_end ( )
inline

Definition at line 99 of file VPlanValue.h.

References llvm::SmallVectorTemplateCommon< T >::end().

Referenced by users().

◆ user_end() [2/2]

const_user_iterator llvm::VPValue::user_end ( ) const
inline

Definition at line 100 of file VPlanValue.h.

References llvm::SmallVectorTemplateCommon< T >::end().

◆ users() [1/2]

user_range llvm::VPValue::users ( )
inline

Definition at line 101 of file VPlanValue.h.

References user_begin(), and user_end().

◆ users() [2/2]

const_user_range llvm::VPValue::users ( ) const
inline

Definition at line 102 of file VPlanValue.h.

References user_begin(), and user_end().

Friends And Related Function Documentation

◆ VPBuilder

friend class VPBuilder
friend

Definition at line 40 of file VPlanValue.h.

Member Data Documentation

◆ UnderlyingVal

Value* llvm::VPValue::UnderlyingVal
protected

Definition at line 48 of file VPlanValue.h.

Referenced by getUnderlyingValue().


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