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

This is the common base class of value handles. More...

#include "[llvm/IR/ValueHandle.h](ValueHandle%5F8h%5Fsource.html)"

Public Member Functions
ValueHandleBase (HandleBaseKind Kind)
ValueHandleBase (HandleBaseKind Kind, Value *V)
~ValueHandleBase ()
Value * operator= (Value *RHS)
Value * operator= (const ValueHandleBase &RHS)
Value * operator-> () const
Value & operator* () const
Protected Types
enum HandleBaseKind { Assert, Callback, Weak, WeakTracking }
This indicates what sub class the handle actually is. More...
Protected Member Functions
ValueHandleBase (const ValueHandleBase &RHS)
ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS)
Value * getValPtr () const
LLVM_ABI void RemoveFromUseList ()
Remove this ValueHandle from its current use list.
void clearValPtr ()
Clear the underlying pointer without clearing the use list.
Static Protected Member Functions
static bool isValid (Value *V)

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 30 of file ValueHandle.h.

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
Weak
WeakTracking

Definition at line 38 of file ValueHandle.h.

Definition at line 40 of file ValueHandle.h.

References RHS, and ValueHandleBase().

Referenced by llvm::CallbackVH::CallbackVH(), llvm::CallbackVH::CallbackVH(), operator=(), llvm::WeakTrackingVH::operator=(), llvm::WeakVH::operator=(), ValueHandleBase(), ValueHandleBase(), llvm::WeakTrackingVH::WeakTrackingVH(), llvm::WeakTrackingVH::WeakTrackingVH(), llvm::WeakTrackingVH::WeakTrackingVH(), llvm::WeakVH::WeakVH(), llvm::WeakVH::WeakVH(), and llvm::WeakVH::WeakVH().

ValueHandleBase() [2/4]

ValueHandleBase() [3/4]

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

ValueHandleBase() [4/4]

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

~ValueHandleBase()

llvm::ValueHandleBase::~ValueHandleBase ( ) inline

clearValPtr()

void llvm::ValueHandleBase::clearValPtr ( ) inlineprotected

Clear the underlying pointer without clearing the use list.

This should only be used if a derived class has manually removed the handle from the use list.

Definition at line 115 of file ValueHandle.h.

getValPtr()

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

Definition at line 100 of file ValueHandle.h.

References Value.

Referenced by llvm::bfi_detail::BFICallbackVH< BasicBlock, BFIImplT >::deleted(), llvm::SCEVUnknown::getType(), llvm::IVStrideUse::getUser(), llvm::SCEVUnknown::getValue(), llvm::PreservedCFGCheckerInstrumentation::BBGuard::isPoisoned(), llvm::CallbackVH::operator Value *(), llvm::WeakTrackingVH::operator Value *(), llvm::WeakVH::operator Value *(), operator*(), operator->(), operator=(), operator=(), llvm::WeakTrackingVH::pointsToAliveValue(), llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::Unwrap(), ValueHandleBase(), ValueHandleBase(), and ~ValueHandleBase().

isValid()

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

operator*()

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

operator->()

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

operator=() [1/2]

operator=() [2/2]

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

RemoveFromUseList()

void ValueHandleBase::RemoveFromUseList ( ) protected

ValueIsDeleted()

void ValueHandleBase::ValueIsDeleted ( Value * V) static

ValueIsRAUWd()

void ValueHandleBase::ValueIsRAUWd ( Value * Old, Value * New ) static

Value

Definition at line 31 of file ValueHandle.h.

References Value.

Referenced by llvm::CallbackVH::allUsesReplacedWith(), llvm::PreservedCFGCheckerInstrumentation::BBGuard::allUsesReplacedWith(), llvm::CallbackVH::CallbackVH(), llvm::CallbackVH::CallbackVH(), getValPtr(), isValid(), llvm::CallbackVH::operator Value *(), llvm::WeakTrackingVH::operator Value *(), llvm::WeakVH::operator Value *(), operator*(), operator->(), operator=(), operator=(), llvm::WeakTrackingVH::operator=(), llvm::WeakTrackingVH::operator=(), llvm::WeakVH::operator=(), llvm::WeakVH::operator=(), llvm::CallbackVH::setValPtr(), Value, ValueHandleBase(), llvm::WeakTrackingVH::WeakTrackingVH(), and llvm::WeakVH::WeakVH().


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