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

Shared implementation of use-lists for replaceable metadata. More...

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

Public Member Functions
ReplaceableMetadataImpl (LLVMContext &Context)
~ReplaceableMetadataImpl ()
LLVMContext & getContext () const
LLVM_ABI void replaceAllUsesWith (Metadata *MD)
Replace all uses of this with MD.
LLVM_ABI SmallVector< Metadata * > getAllArgListUsers ()
Returns the list of all DIArgList users of this.
LLVM_ABI SmallVector< DbgVariableRecord * > getAllDbgVariableRecordUsers ()
Returns the list of all DbgVariableRecord users of this.
LLVM_ABI void resolveAllUses (bool ResolveUsers=true)
Resolve all uses of this.
unsigned getNumUses () const
Static Public Member Functions
static LLVM_ABI void SalvageDebugInfo (const Constant &C)
Replace all uses of the constant with Undef in debug info metadata.
Friends
class MetadataTracking

Shared implementation of use-lists for replaceable metadata.

Most metadata cannot be RAUW'ed. This is a shared implementation of use-lists and associated API for the three that support it ( ValueAsMetadata, TempMDNode, and DIArgList).

Definition at line 390 of file Metadata.h.

OwnerTy

llvm::ReplaceableMetadataImpl::ReplaceableMetadataImpl ( LLVMContext & Context) inline

~ReplaceableMetadataImpl()

llvm::ReplaceableMetadataImpl::~ReplaceableMetadataImpl ( ) inline

getAllArgListUsers()

getAllDbgVariableRecordUsers()

getContext()

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

getNumUses()

unsigned llvm::ReplaceableMetadataImpl::getNumUses ( ) const inline

replaceAllUsesWith()

void ReplaceableMetadataImpl::replaceAllUsesWith ( Metadata * MD )

Replace all uses of this with MD.

Replace all uses of this with MD, which is allowed to be null.

Definition at line 369 of file Metadata.cpp.

References assert(), llvm::cast(), llvm::dyn_cast(), llvm::Metadata::getMetadataID(), llvm::isa(), llvm_unreachable, Owner, llvm::Ref, llvm::sort(), llvm::MetadataTracking::track(), and Uses.

Referenced by llvm::DIArgList::handleChangedOperand(), and llvm::ValueAsMetadata::replaceAllUsesWith().

resolveAllUses()

void ReplaceableMetadataImpl::resolveAllUses ( bool ResolveUsers = true )

SalvageDebugInfo()

void ReplaceableMetadataImpl::SalvageDebugInfo ( const Constant & C) static

MetadataTracking


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