LLVM 19.0.0git
Public Member Functions | List of all members
llvm::WeakTrackingVH Class Reference

Value handle that is nullable, but tries to track the Value. More...

#include "llvm/IR/ValueHandle.h"

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

Public Member Functions

 WeakTrackingVH ()
 
 WeakTrackingVH (Value *P)
 
 WeakTrackingVH (const WeakTrackingVH &RHS)
 
WeakTrackingVHoperator= (const WeakTrackingVH &RHS)=default
 
Valueoperator= (Value *RHS)
 
Valueoperator= (const ValueHandleBase &RHS)
 
 operator Value * () const
 
bool pointsToAliveValue () const
 
- Public Member Functions inherited from llvm::ValueHandleBase
 ValueHandleBase (HandleBaseKind Kind)
 
 ValueHandleBase (HandleBaseKind Kind, Value *V)
 
 ~ValueHandleBase ()
 
Valueoperator= (Value *RHS)
 
Valueoperator= (const ValueHandleBase &RHS)
 
Valueoperator-> () const
 
Valueoperator* () const
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::ValueHandleBase
static void ValueIsDeleted (Value *V)
 
static void ValueIsRAUWd (Value *Old, Value *New)
 
- Protected Types inherited from llvm::ValueHandleBase
enum  HandleBaseKind { Assert , Callback , Weak , WeakTracking }
 This indicates what sub class the handle actually is. More...
 
- Protected Member Functions inherited from llvm::ValueHandleBase
 ValueHandleBase (const ValueHandleBase &RHS)
 
 ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS)
 
ValuegetValPtr () const
 
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 inherited from llvm::ValueHandleBase
static bool isValid (Value *V)
 

Detailed Description

Value handle that is nullable, but tries to track the Value.

This is a value handle that tries hard to point to a Value, even across RAUW operations, but will null itself out if the value is destroyed. this is useful for advisory sorts of information, but should not be used as the key of a map (since the map would have to rearrange itself when the pointer changes).

Definition at line 204 of file ValueHandle.h.

Constructor & Destructor Documentation

◆ WeakTrackingVH() [1/3]

llvm::WeakTrackingVH::WeakTrackingVH ( )
inline

Definition at line 206 of file ValueHandle.h.

◆ WeakTrackingVH() [2/3]

llvm::WeakTrackingVH::WeakTrackingVH ( Value P)
inline

Definition at line 207 of file ValueHandle.h.

◆ WeakTrackingVH() [3/3]

llvm::WeakTrackingVH::WeakTrackingVH ( const WeakTrackingVH RHS)
inline

Definition at line 208 of file ValueHandle.h.

Member Function Documentation

◆ operator Value *()

llvm::WeakTrackingVH::operator Value * ( ) const
inline

Definition at line 220 of file ValueHandle.h.

References llvm::ValueHandleBase::getValPtr().

◆ operator=() [1/3]

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

Definition at line 216 of file ValueHandle.h.

References llvm::ValueHandleBase::operator=(), and RHS.

◆ operator=() [2/3]

WeakTrackingVH & llvm::WeakTrackingVH::operator= ( const WeakTrackingVH RHS)
default

◆ operator=() [3/3]

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

Definition at line 213 of file ValueHandle.h.

References llvm::ValueHandleBase::operator=(), and RHS.

◆ pointsToAliveValue()

bool llvm::WeakTrackingVH::pointsToAliveValue ( ) const
inline

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