LLVM API Documentation
#include <ValueHandle.h>


Public Member Functions | |
| CallbackVH () | |
| CallbackVH (Value *P) | |
| operator Value * () const | |
| virtual void | deleted () |
| virtual void | allUsesReplacedWith (Value *) |
Protected Member Functions | |
| CallbackVH (const CallbackVH &RHS) | |
| virtual | ~CallbackVH () |
| void | setValPtr (Value *P) |
CallbackVH - 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 and a virtual destructor.
Definition at line 341 of file ValueHandle.h.
| llvm::CallbackVH::CallbackVH | ( | const CallbackVH & | RHS | ) | [inline, protected] |
Definition at line 343 of file ValueHandle.h.
| virtual llvm::CallbackVH::~CallbackVH | ( | ) | [inline, protected, virtual] |
Definition at line 346 of file ValueHandle.h.
| llvm::CallbackVH::CallbackVH | ( | ) | [inline] |
Definition at line 353 of file ValueHandle.h.
| llvm::CallbackVH::CallbackVH | ( | Value * | P | ) | [inline] |
Definition at line 354 of file ValueHandle.h.
| void CallbackVH::allUsesReplacedWith | ( | Value * | ) | [virtual] |
Called when this->getValPtr()->replaceAllUsesWith(new_value) is called, _before_ any of the uses have actually been replaced. If WeakVH 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::DebugRecVH, llvm::ValueMapCallbackVH< KeyT, ValueT, Config >, llvm::MDNodeOperand, and llvm::MMIAddrLabelMapCallbackPtr.
| void CallbackVH::deleted | ( | ) | [virtual] |
Called when this->getValPtr() is destroyed, inside ~Value(), so you may call any non-virtual Value method on getValPtr(), but no subclass methods. If WeakVH 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::DebugRecVH, llvm::ValueMapCallbackVH< KeyT, ValueT, Config >, llvm::MDNodeOperand, and llvm::MMIAddrLabelMapCallbackPtr.
Definition at line 704 of file Value.cpp.
References setValPtr().
| llvm::CallbackVH::operator Value * | ( | ) | const [inline] |
Definition at line 356 of file ValueHandle.h.
References llvm::ValueHandleBase::getValPtr().
| void llvm::CallbackVH::setValPtr | ( | Value * | P | ) | [inline, protected] |
Definition at line 348 of file ValueHandle.h.
References llvm::ValueHandleBase::operator=().
Referenced by llvm::DebugRecVH::allUsesReplacedWith(), llvm::DebugRecVH::deleted(), deleted(), and llvm::IVStrideUse::setUser().