class TrackingVH
Declaration
template <typename ValueTy>
class TrackingVH { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/IR/ValueHandle.h:331
Templates
- ValueTy
Member Variables
- private llvm::WeakTrackingVH InnerHandle
Method Overview
- public static llvm::Value * GetAsValue(llvm::Value * V)
- public static llvm::Value * GetAsValue(const llvm::Value * V)
- public TrackingVH<ValueTy>()
- public TrackingVH<ValueTy>(ValueTy * P)
- public ValueTy * getValPtr() const
- public ValueTy * operator type-parameter-0-0 *() const
- public void setValPtr(ValueTy * P)
Methods
¶static llvm::Value* GetAsValue(llvm::Value* V)
static llvm::Value* GetAsValue(llvm::Value* V)
Declared at: llvm/include/llvm/IR/ValueHandle.h:356
Parameters
- llvm::Value* V
¶static llvm::Value* GetAsValue(
const llvm::Value* V)
static llvm::Value* GetAsValue(
const llvm::Value* V)
Declared at: llvm/include/llvm/IR/ValueHandle.h:357
Parameters
- const llvm::Value* V
¶TrackingVH<ValueTy>()
TrackingVH<ValueTy>()
Declared at: llvm/include/llvm/IR/ValueHandle.h:360
¶TrackingVH<ValueTy>(ValueTy* P)
TrackingVH<ValueTy>(ValueTy* P)
Declared at: llvm/include/llvm/IR/ValueHandle.h:361
Parameters
- ValueTy* P
¶ValueTy* getValPtr() const
ValueTy* getValPtr() const
Declared at: llvm/include/llvm/IR/ValueHandle.h:335
¶ValueTy* operator type - parameter - 0 -
0 *() const
ValueTy* operator type - parameter - 0 -
0 *() const
Declared at: llvm/include/llvm/IR/ValueHandle.h:363
¶void setValPtr(ValueTy* P)
void setValPtr(ValueTy* P)
Declared at: llvm/include/llvm/IR/ValueHandle.h:348
Parameters
- ValueTy* P