LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
llvm::ValueHandleBase Class Reference

#include <ValueHandle.h>

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

Public Member Functions

 ValueHandleBase (HandleBaseKind Kind)
 
 ValueHandleBase (HandleBaseKind Kind, Value *V)
 
 ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS)
 
 ~ValueHandleBase ()
 
Valueoperator= (Value *RHS)
 
Valueoperator= (const ValueHandleBase &RHS)
 
Valueoperator-> () const
 
Valueoperator* () const
 

Static Public Member Functions

static void ValueIsDeleted (Value *V)
 
static void ValueIsRAUWd (Value *Old, Value *New)
 

Protected Types

enum  HandleBaseKind { Assert, Callback, Tracking, Weak }
 

Protected Member Functions

ValuegetValPtr () const
 
void setValPtrInt (unsigned K)
 
unsigned getValPtrInt () const
 

Static Protected Member Functions

static bool isValid (Value *V)
 

Friends

class Value
 

Detailed Description

ValueHandleBase - This is the common base class of value handles. ValueHandle's are smart pointers to Value's that have special behavior when the value is deleted or ReplaceAllUsesWith'd. See the specific handles below for details.

Definition at line 41 of file ValueHandle.h.

Member Enumeration Documentation

HandleBaseKind - This indicates what sub class the handle actually is. This is to avoid having a vtable for the light-weight handle pointers. The fully general Callback version does have a vtable.

Enumerator
Assert 
Callback 
Tracking 
Weak 

Definition at line 47 of file ValueHandle.h.

Constructor & Destructor Documentation

llvm::ValueHandleBase::ValueHandleBase ( HandleBaseKind  Kind)
inlineexplicit

Definition at line 66 of file ValueHandle.h.

llvm::ValueHandleBase::ValueHandleBase ( HandleBaseKind  Kind,
Value V 
)
inline

Definition at line 68 of file ValueHandle.h.

References isValid().

llvm::ValueHandleBase::ValueHandleBase ( HandleBaseKind  Kind,
const ValueHandleBase RHS 
)
inline

Definition at line 73 of file ValueHandle.h.

References isValid().

llvm::ValueHandleBase::~ValueHandleBase ( )
inline

Definition at line 78 of file ValueHandle.h.

References isValid().

Member Function Documentation

Value* llvm::ValueHandleBase::getValPtr ( ) const
inlineprotected
unsigned llvm::ValueHandleBase::getValPtrInt ( ) const
inlineprotected

Definition at line 106 of file ValueHandle.h.

Referenced by llvm::MDNodeOperand::set().

static bool llvm::ValueHandleBase::isValid ( Value V)
inlinestaticprotected

Definition at line 108 of file ValueHandle.h.

Referenced by operator=(), ValueHandleBase(), and ~ValueHandleBase().

Value& llvm::ValueHandleBase::operator* ( ) const
inline

Definition at line 100 of file ValueHandle.h.

References getValPtr().

Value* llvm::ValueHandleBase::operator-> ( ) const
inline

Definition at line 99 of file ValueHandle.h.

References getValPtr().

Value* llvm::ValueHandleBase::operator= ( Value RHS)
inline
Value* llvm::ValueHandleBase::operator= ( const ValueHandleBase RHS)
inline

Definition at line 91 of file ValueHandle.h.

References isValid().

void llvm::ValueHandleBase::setValPtrInt ( unsigned  K)
inlineprotected

Definition at line 105 of file ValueHandle.h.

Referenced by llvm::MDNodeOperand::setAsFirstOperand().

void ValueHandleBase::ValueIsDeleted ( Value V)
static
void ValueHandleBase::ValueIsRAUWd ( Value Old,
Value New 
)
static

Friends And Related Function Documentation

friend class Value
friend

Definition at line 42 of file ValueHandle.h.


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