LLVM: llvm::ValueAsMetadata Class Reference (original) (raw)

Value wrapper in the Metadata hierarchy. More...

#include "[llvm/IR/Metadata.h](Metadata%5F8h%5Fsource.html)"

Public Member Functions
Value * getValue () const
Type * getType () const
LLVMContext & getContext () const
SmallVector< Metadata * > getAllArgListUsers ()
SmallVector< DbgVariableRecord * > getAllDbgVariableRecordUsers ()
Public Member Functions inherited from llvm::Metadata
unsigned getMetadataID () const
LLVM_ABI void dump () const
User-friendly dump.
LLVM_ABI void dump (const Module *M) const
LLVM_ABI void print (raw_ostream &OS, const Module *M=nullptr, bool IsForDebug=false) const
Print.
LLVM_ABI void print (raw_ostream &OS, ModuleSlotTracker &MST, const Module *M=nullptr, bool IsForDebug=false) const
LLVM_ABI void printAsOperand (raw_ostream &OS, const Module *M=nullptr) const
Print as operand.
LLVM_ABI void printAsOperand (raw_ostream &OS, ModuleSlotTracker &MST, const Module *M=nullptr) const
Static Public Member Functions
static LLVM_ABI ValueAsMetadata * get (Value *V)
static ConstantAsMetadata * getConstant (Value *C)
static LocalAsMetadata * getLocal (Value *Local)
static LLVM_ABI ValueAsMetadata * getIfExists (Value *V)
static ConstantAsMetadata * getConstantIfExists (Value *C)
static LocalAsMetadata * getLocalIfExists (Value *Local)
static LLVM_ABI void handleDeletion (Value *V)
static LLVM_ABI void handleRAUW (Value *From, Value *To)
static bool classof (const Metadata *MD)
Protected Member Functions
ValueAsMetadata (unsigned ID, Value *V)
~ValueAsMetadata ()=default
void replaceAllUsesWith (Metadata *MD)
Handle collisions after Value::replaceAllUsesWith().
Protected Member Functions inherited from llvm::Metadata
Metadata (unsigned ID, StorageType Storage)
~Metadata ()=default
void handleChangedOperand (void *, Metadata *)
Default handling of a changed operand, which asserts.
Friends
class ReplaceableMetadataImpl
class LLVMContextImpl
Additional Inherited Members
Public Types inherited from llvm::Metadata
enum MetadataKind
Static Public Attributes inherited from llvm::Metadata
static constexpr const unsigned PoisonGeneratingIDs []
Metadata IDs that may generate poison.
Protected Types inherited from llvm::Metadata
enum StorageType { Uniqued, Distinct, Temporary }
Active type of storage. More...
Protected Attributes inherited from llvm::Metadata
unsigned char Storage: 7
Storage flag for non-uniqued, otherwise unowned, metadata.
unsigned char SubclassData1: 1
unsigned short SubclassData16 = 0
unsigned SubclassData32 = 0

Value wrapper in the Metadata hierarchy.

This is a custom value handle that allows other metadata to refer to classes in the Value hierarchy.

Because of full uniquing support, each value is only wrapped by a single ValueAsMetadata object, so the lookup maps are far more efficient than those using ValueHandleBase.

Definition at line 458 of file Metadata.h.

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

~ValueAsMetadata()

llvm::ValueAsMetadata::~ValueAsMetadata ( ) protecteddefault

classof()

get()

Definition at line 503 of file Metadata.cpp.

References assert(), llvm::CallingConv::C, llvm::dyn_cast(), llvm::isa(), and ValueAsMetadata().

Referenced by addFunctionTypeMutation(), addModuleFlags(), llvm::memprof::buildCallstackMetadata(), buildFrameDebugInfo(), constructEntryMetadata(), llvm::ConvertDebugDeclareToDebugValue(), llvm::ConvertDebugDeclareToDebugValue(), llvm::DbgVariableRecord::createDbgVariableRecord(), llvm::DbgVariableRecord::createDVRAssign(), llvm::DbgVariableRecord::createDVRDeclare(), llvm::DbgVariableRecord::createDVRDeclareValue(), createMIBNode(), getAsMetadata(), getAsMetadata(), llvm::dxil::ResourceInfo::getAsMetadata(), getConstant(), getDbgIntrinsicValueImpl(), getLocal(), llvm::DIArgList::handleChangedOperand(), llvm::DebugValueUser::handleChangedValue(), insertDbgValueOrDbgVariableRecord(), insertSpills(), LLVMValueAsMetadata(), llvm::DbgVariableIntrinsic::replaceVariableLocationOp(), llvm::DbgVariableIntrinsic::replaceVariableLocationOp(), llvm::DbgVariableRecord::replaceVariableLocationOp(), llvm::DbgVariableRecord::replaceVariableLocationOp(), restorePreTransformState(), llvm::ReplaceableMetadataImpl::SalvageDebugInfo(), llvm::DbgAssignIntrinsic::setAddress(), llvm::DbgVariableRecord::setAddress(), llvm::DbgVariableRecord::setKillAddress(), llvm::DbgAssignIntrinsic::setValue(), updateDVIWithLocation(), and updateDVIWithLocations().

getAllArgListUsers()

getAllDbgVariableRecordUsers()

getConstant()

getConstantIfExists()

getContext()

LLVMContext & llvm::ValueAsMetadata::getContext ( ) const inline

getIfExists()

getLocal()

getLocalIfExists()

getType()

Type * llvm::ValueAsMetadata::getType ( ) const inline

getValue()

Value * llvm::ValueAsMetadata::getValue ( ) const inline

handleDeletion()

void ValueAsMetadata::handleDeletion ( Value * V) static

handleRAUW()

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

Definition at line 546 of file Metadata.cpp.

References assert(), llvm::CallingConv::C, llvm::dyn_cast(), llvm::ConstantAsMetadata::get(), llvm::Type::getContext(), llvm::Value::getContext(), getLocalFunctionMetadata(), llvm::Value::getType(), getValue(), I, llvm::isa(), llvm::Value::IsUsedByMD, replaceAllUsesWith(), and ValueAsMetadata().

replaceAllUsesWith()

void llvm::ValueAsMetadata::replaceAllUsesWith ( Metadata * MD) inlineprotected

LLVMContextImpl

ReplaceableMetadataImpl


The documentation for this class was generated from the following files: