class ValueAsMetadata

Declaration

class ValueAsMetadata : public Metadata,
                        private ReplaceableMetadataImpl { /* full declaration omitted */ };

Declared at: llvm/include/llvm/IR/Metadata.h:339

Inherits from: Metadata, ReplaceableMetadataImpl

Member Variables

Inherited from Metadata:

protected Storage
protected ImplicitCode
protected SubclassData16 = 0
protected SubclassData32 = 0

Method Overview

Inherited from Metadata:

Methods

ValueAsMetadata(unsigned int ID, llvm::Value* V)

Declared at: llvm/include/llvm/IR/Metadata.h:351

Parameters

unsigned int ID
llvm::Value* V

static bool classof(const llvm::Metadata* MD)

Declared at: llvm/include/llvm/IR/Metadata.h:397

Parameters

const llvm::Metadata* MD

static llvm::ValueAsMetadata* get(llvm::Value* V)

Declared at: llvm/include/llvm/IR/Metadata.h:359

Parameters

llvm::Value* V

static llvm::ConstantAsMetadata* getConstant(
    llvm::Value* C)

Declared at: llvm/include/llvm/IR/Metadata.h:361

Parameters

llvm::Value* C

static llvm::ConstantAsMetadata*
getConstantIfExists(llvm::Value* C)

Declared at: llvm/include/llvm/IR/Metadata.h:371

Parameters

llvm::Value* C

llvm::LLVMContext& getContext() const

Declared at: llvm/include/llvm/IR/Metadata.h:381

static llvm::ValueAsMetadata* getIfExists(
    llvm::Value* V)

Declared at: llvm/include/llvm/IR/Metadata.h:369

Parameters

llvm::Value* V

static llvm::LocalAsMetadata* getLocal(
    llvm::Value* Local)

Declared at: llvm/include/llvm/IR/Metadata.h:365

Parameters

llvm::Value* Local

static llvm::LocalAsMetadata* getLocalIfExists(
    llvm::Value* Local)

Declared at: llvm/include/llvm/IR/Metadata.h:375

Parameters

llvm::Value* Local

llvm::Type* getType() const

Declared at: llvm/include/llvm/IR/Metadata.h:380

llvm::Value* getValue() const

Declared at: llvm/include/llvm/IR/Metadata.h:379

static void handleDeletion(llvm::Value* V)

Declared at: llvm/include/llvm/IR/Metadata.h:383

Parameters

llvm::Value* V

static void handleRAUW(llvm::Value* From,
                       llvm::Value* To)

Declared at: llvm/include/llvm/IR/Metadata.h:384

Parameters

llvm::Value* From
llvm::Value* To

void replaceAllUsesWith(llvm::Metadata* MD)

Description

Handle collisions after \a Value::replaceAllUsesWith(). RAUW isn't supported directly for \a ValueAsMetadata, but if the wrapped\a Value gets RAUW'ed and the target already exists, this is used to merge the two metadata nodes.

Declared at: llvm/include/llvm/IR/Metadata.h:392

Parameters

llvm::Metadata* MD

~ValueAsMetadata()

Declared at: llvm/include/llvm/IR/Metadata.h:356