LLVM  6.0.0svn
Public Types | Public Member Functions | Friends | List of all members
llvm::ReplaceableMetadataImpl Class Reference

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

#include "llvm/IR/Metadata.h"

Inheritance diagram for llvm::ReplaceableMetadataImpl:
Inheritance graph
[legend]

Public Types

using OwnerTy = MetadataTracking::OwnerTy
 

Public Member Functions

 ReplaceableMetadataImpl (LLVMContext &Context)
 
 ~ReplaceableMetadataImpl ()
 
LLVMContextgetContext () 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
 

Detailed Description

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 277 of file Metadata.h.

Member Typedef Documentation

◆ OwnerTy

Definition at line 281 of file Metadata.h.

Constructor & Destructor Documentation

◆ ReplaceableMetadataImpl()

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

Definition at line 289 of file Metadata.h.

◆ ~ReplaceableMetadataImpl()

llvm::ReplaceableMetadataImpl::~ReplaceableMetadataImpl ( )
inline

Member Function Documentation

◆ getContext()

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

Definition at line 295 of file Metadata.h.

References Context.

◆ replaceAllUsesWith()

void ReplaceableMetadataImpl::replaceAllUsesWith ( Metadata MD)

◆ resolveAllUses()

void ReplaceableMetadataImpl::resolveAllUses ( bool  ResolveUsers = true)

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 281 of file Metadata.cpp.

References llvm::dyn_cast(), llvm::PointerUnion< PT1, PT2 >::get(), llvm::PointerUnion< PT1, PT2 >::is(), N, and llvm::parallel::sort().

Referenced by llvm::MDNode::dropAllReferences().

Friends And Related Function Documentation

◆ MetadataTracking

friend class MetadataTracking
friend

Definition at line 278 of file Metadata.h.


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