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
- private MetadataAsValue(llvm::Type * Ty, llvm::Metadata * MD)
- public static bool classof(const llvm::Value * V)
- private void dropUse()
- public static llvm::MetadataAsValue * get(llvm::LLVMContext & Context, llvm::Metadata * MD)
- public static llvm::MetadataAsValue * getIfExists(llvm::LLVMContext & Context, llvm::Metadata * MD)
- public llvm::Metadata * getMetadata() const
- private void handleChangedMetadata(llvm::Metadata * MD)
- private void track()
- private void untrack()
- public ~MetadataAsValue()
Inherited from Value:
- public DoPHITranslation
- public DoPHITranslation
- protected addMetadata
- protected addMetadata
- public addUse
- public assertModuleIsMaterialized
- public assertModuleIsMaterializedImpl
- public canBeFreed
- protected clearMetadata
- public clearSubclassOptionalData
- public deleteValue
- public dropDroppableUse
- public dropDroppableUses
- public dropDroppableUsesIn
- public dump
- protected eraseMetadata
- protected getAllMetadata
- public getContext
- protected getMetadata
- protected getMetadata
- protected getMetadata
- protected getMetadata
- public getName
- public getNameOrAsOperand
- public getNumUses
- public getPointerAlignment
- public getPointerDereferenceableBytes
- public getRawSubclassOptionalData
- public getSingleUndroppableUse
- public getSingleUndroppableUse
- protected getSubclassDataFromValue
- public getType
- public getUniqueUndroppableUser
- public getUniqueUndroppableUser
- public getValueID
- public getValueName
- protected hasMetadata
- protected hasMetadata
- protected hasMetadata
- public hasNUndroppableUses
- public hasNUndroppableUsesOrMore
- public hasNUses
- public hasNUsesOrMore
- public hasName
- public hasOneUse
- public hasOneUser
- public hasSameSubclassOptionalData
- public hasValueHandle
- public isSwiftError
- public isTransitiveUsedByMetadataOnly
- public isUsedByMetadata
- public isUsedInBasicBlock
- public materialized_use_begin
- public materialized_use_begin
- public materialized_use_empty
- public materialized_user_begin
- public materialized_user_begin
- public materialized_users
- public materialized_users
- public materialized_uses
- public materialized_uses
- public mutateType
- public print
- public print
- public printAsOperand
- public printAsOperand
- public replaceAllUsesWith
- public replaceNonMetadataUsesWith
- public replaceUsesOutsideBlock
- public replaceUsesWithIf
- public reverseUseList
- protected setMetadata
- protected setMetadata
- public setName
- public setValueName
- protected setValueSubclassData
- public sortUseList
- public stripAndAccumulateConstantOffsets
- public stripAndAccumulateConstantOffsets
- public stripAndAccumulateInBoundsConstantOffsets
- public stripAndAccumulateInBoundsConstantOffsets
- public stripInBoundsConstantOffsets
- public stripInBoundsConstantOffsets
- public stripInBoundsOffsets
- public stripInBoundsOffsets
- public stripPointerCasts
- public stripPointerCasts
- public stripPointerCastsAndAliases
- public stripPointerCastsAndAliases
- public stripPointerCastsForAliasAnalysis
- public stripPointerCastsForAliasAnalysis
- public stripPointerCastsSameRepresentation
- public stripPointerCastsSameRepresentation
- public takeName
- public use_begin
- public use_begin
- public use_empty
- public use_end
- public use_end
- public user_back
- public user_back
- public user_begin
- public user_begin
- public user_empty
- public user_end
- public user_end
- public users
- public users
- public uses
- public uses
Methods
¶MetadataAsValue(llvm::Type* Ty,
llvm::Metadata* MD)
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)
static bool classof(const llvm::Value* V)
Declared at: llvm/include/llvm/IR/Metadata.h:195
Parameters
- const llvm::Value* V
¶void dropUse()
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)
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)
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
llvm::Metadata* getMetadata() const
Declared at: llvm/include/llvm/IR/Metadata.h:193
¶void handleChangedMetadata(llvm::Metadata* MD)
void handleChangedMetadata(llvm::Metadata* MD)
Declared at: llvm/include/llvm/IR/Metadata.h:200
Parameters
- llvm::Metadata* MD
¶void track()
void track()
Declared at: llvm/include/llvm/IR/Metadata.h:201
¶void untrack()
void untrack()
Declared at: llvm/include/llvm/IR/Metadata.h:202
¶~MetadataAsValue()
~MetadataAsValue()
Declared at: llvm/include/llvm/IR/Metadata.h:188