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:
- include/llvm/IR/Metadata.h
- lib/IR/Metadata.cpp