|
LLVM
4.0.0
|
This is the common base class of value handles. More...
#include <ValueHandle.h>
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 |
Static Public Member Functions | |
| static void | ValueIsDeleted (Value *V) |
| static void | ValueIsRAUWd (Value *Old, Value *New) |
Protected Types | |
| enum | HandleBaseKind { Assert, Callback, Tracking, Weak } |
| 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 |
Static Protected Member Functions | |
| static bool | isValid (Value *V) |
Friends | |
| class | Value |
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.
|
protected |
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 37 of file ValueHandle.h.
|
inlineprotected |
Definition at line 44 of file ValueHandle.h.
|
inlineprotected |
Definition at line 47 of file ValueHandle.h.
References isValid().
|
inlineexplicit |
Definition at line 60 of file ValueHandle.h.
|
inline |
Definition at line 62 of file ValueHandle.h.
References isValid().
|
inline |
Definition at line 68 of file ValueHandle.h.
References isValid().
|
inlineprotected |
Definition at line 93 of file ValueHandle.h.
Referenced by llvm::SCEVUnknown::getType(), llvm::IVStrideUse::getUser(), llvm::SCEVUnknown::getValue(), llvm::DenseMapInfo< ValueMapCallbackVH< KeyT, ValueT, Config > >::isEqual(), llvm::WeakVH::operator Value *(), llvm::CallbackVH::operator Value *(), and llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::Unwrap().
Definition at line 95 of file ValueHandle.h.
Referenced by operator=(), ValueHandleBase(), and ~ValueHandleBase().
|
inline |
Definition at line 90 of file ValueHandle.h.
|
inline |
Definition at line 89 of file ValueHandle.h.
Definition at line 73 of file ValueHandle.h.
References isValid().
Referenced by llvm::WeakVH::operator=(), llvm::MMIAddrLabelMapCallbackPtr::setPtr(), and llvm::CallbackVH::setValPtr().
|
inline |
Definition at line 81 of file ValueHandle.h.
References isValid().
|
static |
Definition at line 781 of file Value.cpp.
References Assert, assert(), Callback, llvm::dbgs(), llvm::Value::getContext(), llvm::Value::getName(), llvm::Value::getType(), llvm_unreachable, llvm::LLVMContext::pImpl, Tracking, llvm::LLVMContextImpl::ValueHandles, and Weak.
Referenced by llvm::Value::~Value().
Definition at line 837 of file Value.cpp.
References Assert, assert(), Callback, llvm::dbgs(), llvm::Value::getContext(), llvm::Value::getName(), llvm::Value::getType(), LLVM_FALLTHROUGH, llvm_unreachable, llvm::LLVMContext::pImpl, Tracking, and Weak.
Referenced by llvm::formLCSSAForInstructions(), llvm::MemorySSA::removeMemoryAccess(), and llvm::SSAUpdater::RewriteUse().
|
friend |
Definition at line 31 of file ValueHandle.h.
1.8.6