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

Methods

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)

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()

Description

Add this ValueHandle to the use list for V.

Declared at: llvm/include/llvm/IR/ValueHandle.h:137

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)

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)

Declared at: llvm/include/llvm/IR/ValueHandle.h:58

Parameters

llvm::ValueHandleBase::HandleBaseKind Kind
llvm::Value* V

ValueHandleBase(
    llvm::ValueHandleBase::HandleBaseKind Kind)

Declared at: llvm/include/llvm/IR/ValueHandle.h:56

Parameters

llvm::ValueHandleBase::HandleBaseKind Kind

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)

Declared at: llvm/include/llvm/IR/ValueHandle.h:118

Parameters

llvm::Value* V

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()

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

Declared at: llvm/include/llvm/IR/ValueHandle.h:124

llvm::ValueHandleBase** getPrevPtr() const

Declared at: llvm/include/llvm/IR/ValueHandle.h:123

llvm::Value* getValPtr() const

Declared at: llvm/include/llvm/IR/ValueHandle.h:99

static bool isValid(llvm::Value* V)

Declared at: llvm/include/llvm/IR/ValueHandle.h:101

Parameters

llvm::Value* V

void setPrevPtr(llvm::ValueHandleBase** Ptr)

Declared at: llvm/include/llvm/IR/ValueHandle.h:125

Parameters

llvm::ValueHandleBase** Ptr

void setValPtr(llvm::Value* V)

Declared at: llvm/include/llvm/IR/ValueHandle.h:53

Parameters

llvm::Value* V

~ValueHandleBase()

Declared at: llvm/include/llvm/IR/ValueHandle.h:64