class ValueHandleBase
Declaration
class ValueHandleBase { /* full declaration omitted */ };
Description
This is the common base class of value handles. ValueHandle's are smart pointers to Value's that have special behavior when the value is deleted or ReplaceAllUsesWith'd. See the specific handles below for details.
Declared at: llvm/include/llvm/IR/ValueHandle.h:29
Member Variables
- private PointerIntPair< llvm::ValueHandleBase**, 2, llvm::ValueHandleBase::HandleBaseKind> PrevPair
- private llvm::ValueHandleBase* Next = nullptr
- private llvm::Value* Val = nullptr
Method Overview
- private void AddToExistingUseList(llvm::ValueHandleBase ** List)
- private void AddToExistingUseListAfter(llvm::ValueHandleBase * Node)
- private void AddToUseList()
- protected void RemoveFromUseList()
- protected ValueHandleBase(llvm::ValueHandleBase::HandleBaseKind Kind, const llvm::ValueHandleBase & RHS)
- public ValueHandleBase(llvm::ValueHandleBase::HandleBaseKind Kind, llvm::Value * V)
- public ValueHandleBase(llvm::ValueHandleBase::HandleBaseKind Kind)
- protected ValueHandleBase(const llvm::ValueHandleBase & RHS)
- public static void ValueIsDeleted(llvm::Value * V)
- public static void ValueIsRAUWd(llvm::Value * Old, llvm::Value * New)
- protected void clearValPtr()
- private llvm::ValueHandleBase::HandleBaseKind getKind() const
- private llvm::ValueHandleBase ** getPrevPtr() const
- protected llvm::Value * getValPtr() const
- protected static bool isValid(llvm::Value * V)
- private void setPrevPtr(llvm::ValueHandleBase ** Ptr)
- private void setValPtr(llvm::Value * V)
- public ~ValueHandleBase()
Methods
¶void AddToExistingUseList(
llvm::ValueHandleBase** List)
void AddToExistingUseList(
llvm::ValueHandleBase** List)
Description
Add this ValueHandle to the use list for V. List is the address of either the head of the list or a Next node within the existing use list.
Declared at: llvm/include/llvm/IR/ValueHandle.h:131
Parameters
- llvm::ValueHandleBase** List
¶void AddToExistingUseListAfter(
llvm::ValueHandleBase* Node)
void AddToExistingUseListAfter(
llvm::ValueHandleBase* Node)
Description
Add this ValueHandle to the use list after Node.
Declared at: llvm/include/llvm/IR/ValueHandle.h:134
Parameters
- llvm::ValueHandleBase* Node
¶void AddToUseList()
void AddToUseList()
Description
Add this ValueHandle to the use list for V.
Declared at: llvm/include/llvm/IR/ValueHandle.h:137
¶void RemoveFromUseList()
void RemoveFromUseList()
Description
Remove this ValueHandle from its current use list.
Declared at: llvm/include/llvm/IR/ValueHandle.h:108
¶ValueHandleBase(
llvm::ValueHandleBase::HandleBaseKind Kind,
const llvm::ValueHandleBase& RHS)
ValueHandleBase(
llvm::ValueHandleBase::HandleBaseKind Kind,
const llvm::ValueHandleBase& RHS)
Declared at: llvm/include/llvm/IR/ValueHandle.h:42
Parameters
- llvm::ValueHandleBase::HandleBaseKind Kind
- const llvm::ValueHandleBase& RHS
¶ValueHandleBase(
llvm::ValueHandleBase::HandleBaseKind Kind,
llvm::Value* V)
ValueHandleBase(
llvm::ValueHandleBase::HandleBaseKind Kind,
llvm::Value* V)
Declared at: llvm/include/llvm/IR/ValueHandle.h:58
Parameters
- llvm::ValueHandleBase::HandleBaseKind Kind
- llvm::Value* V
¶ValueHandleBase(
llvm::ValueHandleBase::HandleBaseKind Kind)
ValueHandleBase(
llvm::ValueHandleBase::HandleBaseKind Kind)
Declared at: llvm/include/llvm/IR/ValueHandle.h:56
Parameters
- llvm::ValueHandleBase::HandleBaseKind Kind
¶ValueHandleBase(const llvm::ValueHandleBase& RHS)
ValueHandleBase(const llvm::ValueHandleBase& RHS)
Declared at: llvm/include/llvm/IR/ValueHandle.h:39
Parameters
- const llvm::ValueHandleBase& RHS
¶static void ValueIsDeleted(llvm::Value* V)
static void ValueIsDeleted(llvm::Value* V)
Declared at: llvm/include/llvm/IR/ValueHandle.h:118
Parameters
- llvm::Value* V
¶static void ValueIsRAUWd(llvm::Value* Old,
llvm::Value* New)
static void ValueIsRAUWd(llvm::Value* Old,
llvm::Value* New)
Declared at: llvm/include/llvm/IR/ValueHandle.h:119
Parameters
- llvm::Value* Old
- llvm::Value* New
¶void clearValPtr()
void clearValPtr()
Description
Clear the underlying pointer without clearing the use list. This should only be used if a derived class has manually removed the handle from the use list.
Declared at: llvm/include/llvm/IR/ValueHandle.h:114
¶llvm::ValueHandleBase::HandleBaseKind getKind()
const
llvm::ValueHandleBase::HandleBaseKind getKind()
const
Declared at: llvm/include/llvm/IR/ValueHandle.h:124
¶llvm::ValueHandleBase** getPrevPtr() const
llvm::ValueHandleBase** getPrevPtr() const
Declared at: llvm/include/llvm/IR/ValueHandle.h:123
¶llvm::Value* getValPtr() const
llvm::Value* getValPtr() const
Declared at: llvm/include/llvm/IR/ValueHandle.h:99
¶static bool isValid(llvm::Value* V)
static bool isValid(llvm::Value* V)
Declared at: llvm/include/llvm/IR/ValueHandle.h:101
Parameters
- llvm::Value* V
¶void setPrevPtr(llvm::ValueHandleBase** Ptr)
void setPrevPtr(llvm::ValueHandleBase** Ptr)
Declared at: llvm/include/llvm/IR/ValueHandle.h:125
Parameters
- llvm::ValueHandleBase** Ptr
¶void setValPtr(llvm::Value* V)
void setValPtr(llvm::Value* V)
Declared at: llvm/include/llvm/IR/ValueHandle.h:53
Parameters
- llvm::Value* V
¶~ValueHandleBase()
~ValueHandleBase()
Declared at: llvm/include/llvm/IR/ValueHandle.h:64