Shared implementation of use‐lists for replaceable metadata.

Synopsis

Declared in <llvm/IR/Metadata.h>

class ReplaceableMetadataImpl;

Description

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

Type Aliases

Name

Description

OwnerTy

Owner type shared with MetadataTracking.

Member Functions

Name

Description

ReplaceableMetadataImpl [constructor]

Construct replaceable‐metadata support for Context.

~ReplaceableMetadataImpl [destructor]

Destroy replaceable metadata once all uses have been dropped.

getAllArgListUsers

Returns the list of all DIArgList users of this.

getAllDbgVariableRecordUsers

Returns the list of all DbgVariableRecord users of this.

getContext

Return the LLVM context associated with this replaceable metadata.

getNumUses

Return the number of tracked uses of this replaceable metadata.

replaceAllUsesWith

Replace all uses of this with MD.

resolveAllUses

Resolve all uses of this.

Static Member Functions

Name

Description

SalvageDebugInfo

Replace uses of constant C with undef in debug‐info metadata.

Friends

Name

Description

llvm::MetadataTracking

API for tracking metadata references through RAUW and deletion.

Created with MrDocs