LLVM 22.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 899 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 905 of file Metadata.h.

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

◆ ~MDOperand()

llvm::MDOperand::~MDOperand ( )
inline

Definition at line 926 of file Metadata.h.

Member Function Documentation

◆ equalsStr()

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

Definition at line 921 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 929 of file Metadata.h.

References get().

◆ operator*()

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

Definition at line 931 of file Metadata.h.

References get().

◆ operator->()

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

Definition at line 930 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 912 of file Metadata.h.

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

◆ reset() [1/2]

void llvm::MDOperand::reset ( )
inline

Definition at line 933 of file Metadata.h.

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

◆ reset() [2/2]

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

Definition at line 937 of file Metadata.h.


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