LLVM 22.0.0git
|
Value handle that tracks a Value across RAUW. More...
#include "llvm/IR/ValueHandle.h"
Public Member Functions | |
ValueTy * | getValPtr () const |
void | setValPtr (ValueTy *P) |
TrackingVH ()=default | |
TrackingVH (ValueTy *P) | |
operator ValueTy * () const | |
ValueTy * | operator= (ValueTy *RHS) |
ValueTy * | operator-> () const |
ValueTy & | operator* () const |
Static Public Member Functions | |
static Value * | GetAsValue (Value *V) |
static Value * | GetAsValue (const Value *V) |
Value handle that tracks a Value across RAUW.
TrackingVH is designed for situations where a client needs to hold a handle to a Value (or subclass) across some operations which may move that value, but should never destroy it or replace it with some unacceptable type.
It is an error to attempt to replace a value with one of a type which is incompatible with any of its outstanding TrackingVHs.
It is an error to read from a TrackingVH that does not point to a valid value. A TrackingVH is said to not point to a valid value if either it hasn't yet been assigned a value yet or because the value it was tracking has since been deleted.
Assigning a value to a TrackingVH is always allowed, even if said TrackingVH no longer points to a valid value.
Definition at line 332 of file ValueHandle.h.
|
default |
|
inline |
Definition at line 362 of file ValueHandle.h.
References P, and llvm::TrackingVH< ValueTy >::setValPtr().
|
inlinestatic |
Definition at line 358 of file ValueHandle.h.
|
inlinestatic |
Definition at line 357 of file ValueHandle.h.
Referenced by llvm::TrackingVH< ValueTy >::setValPtr().
|
inline |
Definition at line 336 of file ValueHandle.h.
References assert(), and llvm::WeakTrackingVH::pointsToAliveValue().
Referenced by llvm::TrackingVH< llvm::Value >::operator llvm::Value *(), llvm::TrackingVH< ValueTy >::operator*(), llvm::TrackingVH< ValueTy >::operator->(), llvm::TrackingVH< ValueTy >::operator=(), llvm::coro::AsyncABI::splitCoroutine(), and llvm::coro::AnyRetconABI::splitCoroutine().
|
inline |
Definition at line 364 of file ValueHandle.h.
|
inline |
Definition at line 374 of file ValueHandle.h.
References llvm::TrackingVH< ValueTy >::getValPtr().
|
inline |
Definition at line 373 of file ValueHandle.h.
References llvm::TrackingVH< ValueTy >::getValPtr().
|
inline |
Definition at line 368 of file ValueHandle.h.
References llvm::TrackingVH< ValueTy >::getValPtr(), RHS, and llvm::TrackingVH< ValueTy >::setValPtr().
|
inline |
Definition at line 349 of file ValueHandle.h.
References llvm::TrackingVH< ValueTy >::GetAsValue(), and P.
Referenced by llvm::TrackingVH< ValueTy >::operator=(), and llvm::TrackingVH< ValueTy >::TrackingVH().