LLVM 23.0.0git
llvm::MDOperand Class Reference

Tracking metadata reference owned by Metadata. More...

#include "llvm/IR/Metadata.h"

Public Member Functions

 MDOperand ()=default
 MDOperand (const MDOperand &)=delete
 MDOperand (MDOperand &&Op)
MDOperandoperator= (const MDOperand &)=delete
MDOperandoperator= (MDOperand &&Op)
bool equalsStr (StringRef Str) const
 ~MDOperand ()
Metadataget () const
 operator Metadata * () const
Metadataoperator-> () const
Metadataoperator* () const
void reset ()
void reset (Metadata *MD, Metadata *Owner)

Detailed Description

Tracking metadata reference owned by Metadata.

Similar to TrackingMDRef, but it's expected to be owned by an instance of Metadata, which has the option of registering itself for callbacks to re-unique itself.

In particular, this is used by MDNode.

Definition at line 902 of file Metadata.h.

Constructor & Destructor Documentation

◆ MDOperand() [1/3]

llvm::MDOperand::MDOperand ( )
default

◆ MDOperand() [2/3]

llvm::MDOperand::MDOperand ( const MDOperand & )
delete

References MDOperand().

◆ MDOperand() [3/3]

llvm::MDOperand::MDOperand ( MDOperand && Op)
inline

Definition at line 908 of file Metadata.h.

References MDOperand(), and llvm::MetadataTracking::retrack().

◆ ~MDOperand()

llvm::MDOperand::~MDOperand ( )
inline

Definition at line 929 of file Metadata.h.

Member Function Documentation

◆ equalsStr()

bool llvm::MDOperand::equalsStr ( StringRef Str) const
inline

Definition at line 924 of file Metadata.h.

References llvm::cast(), get(), and llvm::isa_and_nonnull().

Referenced by llvm::isExplicitlyUnknownProfileMetadata().

◆ get()

◆ operator Metadata *()

llvm::MDOperand::operator Metadata * ( ) const
inline

Definition at line 932 of file Metadata.h.

References get().

◆ operator*()

Metadata & llvm::MDOperand::operator* ( ) const
inline

Definition at line 934 of file Metadata.h.

References get().

◆ operator->()

Metadata * llvm::MDOperand::operator-> ( ) const
inline

Definition at line 933 of file Metadata.h.

References get().

◆ operator=() [1/2]

MDOperand & llvm::MDOperand::operator= ( const MDOperand & )
delete

References MDOperand().

◆ operator=() [2/2]

MDOperand & llvm::MDOperand::operator= ( MDOperand && Op)
inline

Definition at line 915 of file Metadata.h.

References MDOperand(), and llvm::MetadataTracking::retrack().

◆ reset() [1/2]

void llvm::MDOperand::reset ( )
inline

Definition at line 936 of file Metadata.h.

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

◆ reset() [2/2]

void llvm::MDOperand::reset ( Metadata * MD,
Metadata * Owner )
inline

Definition at line 940 of file Metadata.h.

References Owner.


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