LLVM  7.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

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...


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)

Definition at line 289 of file Metadata.h.

◆ ~ReplaceableMetadataImpl()

llvm::ReplaceableMetadataImpl::~ReplaceableMetadataImpl ( )

Member Function Documentation

◆ getContext()

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

Definition at line 295 of file Metadata.h.

References Context, and llvm::Ref.

◆ 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

Definition at line 278 of file Metadata.h.

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