|
LLVM 23.0.0git
|
Value handle with callbacks on RAUW and destruction. More...
#include "llvm/IR/ValueHandle.h"
Public Member Functions | |
| CallbackVH () | |
| CallbackVH (Value *P) | |
| CallbackVH (const Value *P) | |
| operator Value * () const | |
| virtual void | deleted () |
| Callback for Value destruction. | |
| virtual void | allUsesReplacedWith (Value *) |
| Callback for Value RAUW. | |
| Public Member Functions inherited from llvm::ValueHandleBase | |
| ValueHandleBase (HandleBaseKind Kind) | |
| ValueHandleBase (HandleBaseKind Kind, Value *V) | |
| ~ValueHandleBase () | |
| Value * | operator= (Value *RHS) |
| Value * | operator= (const ValueHandleBase &RHS) |
| Value * | operator= (ValueHandleBase &&RHS) |
| Value * | operator-> () const |
| Value & | operator* () const |
Protected Member Functions | |
| ~CallbackVH ()=default | |
| CallbackVH (const CallbackVH &)=default | |
| CallbackVH & | operator= (const CallbackVH &)=default |
| void | setValPtr (Value *P) |
| Protected Member Functions inherited from llvm::ValueHandleBase | |
| ValueHandleBase (const ValueHandleBase &RHS) | |
| ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS) | |
| ValueHandleBase (HandleBaseKind Kind, 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. | |
Additional Inherited Members | |
| Static Public Member Functions inherited from llvm::ValueHandleBase | |
| static LLVM_ABI void | ValueIsDeleted (Value *V) |
| static LLVM_ABI 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... | |
| Static Protected Member Functions inherited from llvm::ValueHandleBase | |
| static bool | isValid (Value *V) |
Value handle with callbacks on RAUW and destruction.
This is a value handle that allows subclasses to define callbacks that run when the underlying Value has RAUW called on it or is destroyed. This class can be used as the key of a map, as long as the user takes it out of the map before calling setValPtr() (since the map has to rearrange itself when the pointer changes). Unlike ValueHandleBase, this class has a vtable.
Definition at line 426 of file ValueHandle.h.
|
protecteddefault |
|
protecteddefault |
|
inline |
Definition at line 438 of file ValueHandle.h.
References llvm::ValueHandleBase::Callback, and llvm::ValueHandleBase::ValueHandleBase().
|
inline |
Definition at line 439 of file ValueHandle.h.
References llvm::ValueHandleBase::Callback, P, llvm::ValueHandleBase::Value, and llvm::ValueHandleBase::ValueHandleBase().
Definition at line 440 of file ValueHandle.h.
References CallbackVH(), P, and llvm::ValueHandleBase::Value.
|
inlinevirtual |
Callback for Value RAUW.
Called when this->getValPtr()->replaceAllUsesWith(new_value) is called, before any of the uses have actually been replaced. If WeakTrackingVH were implemented as a CallbackVH, it would use this method to call setValPtr(new_value). AssertingVH would do nothing in this method.
Reimplemented in llvm::PreservedCFGCheckerInstrumentation::BBGuard, and llvm::ValueMapCallbackVH< KeyT, ValueT, Config >.
Definition at line 466 of file ValueHandle.h.
References llvm::ValueHandleBase::Value.
|
inlinevirtual |
Callback for Value destruction.
Called when this->getValPtr() is destroyed, inside ~Value(), so you may call any non-virtual Value method on getValPtr(), but no subclass methods. If WeakTrackingVH were implemented as a CallbackVH, it would use this method to call setValPtr(NULL). AssertingVH would use this method to cause an assertion failure.
All implementations must remove the reference from this object to the Value that's being destroyed.
Reimplemented in llvm::PreservedCFGCheckerInstrumentation::BBGuard, and llvm::ValueMapCallbackVH< KeyT, ValueT, Config >.
Definition at line 457 of file ValueHandle.h.
References setValPtr().
Referenced by llvm::PreservedCFGCheckerInstrumentation::BBGuard::allUsesReplacedWith(), and llvm::PreservedCFGCheckerInstrumentation::BBGuard::deleted().
|
inline |
Definition at line 442 of file ValueHandle.h.
References llvm::ValueHandleBase::getValPtr(), and llvm::ValueHandleBase::Value.
|
protecteddefault |
References CallbackVH().
|
inlineprotected |
Definition at line 433 of file ValueHandle.h.
References llvm::ValueHandleBase::operator=(), P, and llvm::ValueHandleBase::Value.
Referenced by deleted(), and llvm::IVStrideUse::setUser().