|
LLVM
3.7.0
|
Shared implementation of use-lists for replaceable metadata. More...
#include <Metadata.h>
Public Types | |
| typedef MetadataTracking::OwnerTy | OwnerTy |
Public Member Functions | |
| ReplaceableMetadataImpl (LLVMContext &Context) | |
| ~ReplaceableMetadataImpl () | |
| LLVMContext & | getContext () const |
| void | replaceAllUsesWith (Metadata *MD) |
| Replace all uses of this with MD. More... | |
| void | resolveAllUses (bool ResolveUsers=true) |
| Resolve all uses of this. More... | |
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 two that support it (ValueAsMetadata and TempMDNode).
Definition at line 204 of file Metadata.h.
Definition at line 208 of file Metadata.h.
|
inline |
Definition at line 216 of file Metadata.h.
|
inline |
Definition at line 218 of file Metadata.h.
|
inline |
Definition at line 222 of file Metadata.h.
Referenced by llvm::ContextAndReplaceableUses::getContext().
| 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 158 of file Metadata.cpp.
References llvm::PointerUnion< PT1, PT2 >::get(), llvm::Metadata::getMetadataID(), llvm::PointerUnion< PT1, PT2 >::is(), llvm_unreachable, and llvm::MetadataTracking::track().
Referenced by llvm::ValueAsMetadata::replaceAllUsesWith(), and llvm::MDNode::replaceAllUsesWith().
Resolve all uses of this.
Resolve all uses of this, turning off RAUW permanently. If ResolveUsers, call MDNode::resolve() on any users whose last operand is resolved.
Definition at line 209 of file Metadata.cpp.
References llvm::dyn_cast().
|
friend |
Definition at line 205 of file Metadata.h.
1.8.6