class MetadataAsValue

Declaration

class MetadataAsValue : public Value { /* full declaration omitted */ };

Description

Metadata wrapper in the Value hierarchy. A member of the \a Value hierarchy to represent a reference to metadata. This allows, e.g., intrinsics to have metadata as operands. Notably, this is the only thing in either hierarchy that is allowed to reference \a LocalAsMetadata.

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

Inherits from: Value

Member Variables

private llvm::Metadata* MD

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasMetadata
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 32
public static MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

Inherited from Value:

Methods

MetadataAsValue(llvm::Type* Ty,
                llvm::Metadata* MD)

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

Parameters

llvm::Type* Ty
llvm::Metadata* MD

static bool classof(const llvm::Value* V)

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

Parameters

const llvm::Value* V

void dropUse()

Description

Drop use of metadata (during teardown).

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

static llvm::MetadataAsValue* get(
    llvm::LLVMContext& Context,
    llvm::Metadata* MD)

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

Parameters

llvm::LLVMContext& Context
llvm::Metadata* MD

static llvm::MetadataAsValue* getIfExists(
    llvm::LLVMContext& Context,
    llvm::Metadata* MD)

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

Parameters

llvm::LLVMContext& Context
llvm::Metadata* MD

llvm::Metadata* getMetadata() const

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

void handleChangedMetadata(llvm::Metadata* MD)

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

Parameters

llvm::Metadata* MD

void track()

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

void untrack()

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

~MetadataAsValue()

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