LLVM  14.0.0git
Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::DIArgList Class Reference

List of ValueAsMetadata, to be used as an argument to a dbg.value intrinsic. More...

#include "llvm/IR/DebugInfoMetadata.h"

Inheritance diagram for llvm::DIArgList:
Inheritance graph
[legend]
Collaboration diagram for llvm::DIArgList:
Collaboration graph
[legend]

Public Member Functions

 DEFINE_MDNODE_GET (DIArgList,(ArrayRef< ValueAsMetadata * > Args),(Args)) TempDIArgList clone() const
 
ArrayRef< ValueAsMetadata * > getArgs () const
 
iterator args_begin ()
 
iterator args_end ()
 
void handleChangedOperand (void *Ref, Metadata *New)
 
- Public Member Functions inherited from llvm::MDNode
 MDNode (const MDNode &)=delete
 
void operator= (const MDNode &)=delete
 
void * operator new (size_t)=delete
 
TempMDNode clone () const
 Create a (temporary) clone of this. More...
 
LLVMContextgetContext () const
 
void replaceOperandWith (unsigned I, Metadata *New)
 Replace a specific operand. More...
 
bool isResolved () const
 Check if node is fully resolved. More...
 
bool isUniqued () const
 
bool isDistinct () const
 
bool isTemporary () const
 
void replaceAllUsesWith (Metadata *MD)
 RAUW a temporary. More...
 
void resolveCycles ()
 Resolve cycles. More...
 
void resolve ()
 Resolve a unique, unresolved node. More...
 
op_iterator op_begin () const
 
op_iterator op_end () const
 
op_range operands () const
 
const MDOperandgetOperand (unsigned I) const
 
unsigned getNumOperands () const
 Return number of MDNode operands. More...
 
bool isTBAAVtableAccess () const
 Check whether MDNode is a vtable access. More...
 

Static Public Member Functions

static bool classof (const Metadata *MD)
 
- Static Public Member Functions inherited from llvm::MDNode
static MDTupleget (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static MDTuplegetIfExists (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static MDTuplegetDistinct (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static TempMDTuple getTemporary (LLVMContext &Context, ArrayRef< Metadata * > MDs)
 
static void deleteTemporary (MDNode *N)
 Deallocate a node created by getTemporary. More...
 
template<class T >
static std::enable_if_t< std::is_base_of< MDNode, T >::value, T * > replaceWithPermanent (std::unique_ptr< T, TempMDNodeDeleter > N)
 Replace a temporary node with a permanent one. More...
 
template<class T >
static std::enable_if_t< std::is_base_of< MDNode, T >::value, T * > replaceWithUniqued (std::unique_ptr< T, TempMDNodeDeleter > N)
 Replace a temporary node with a uniqued one. More...
 
template<class T >
static std::enable_if_t< std::is_base_of< MDNode, T >::value, T * > replaceWithDistinct (std::unique_ptr< T, TempMDNodeDeleter > N)
 Replace a temporary node with a distinct one. More...
 
static bool classof (const Metadata *MD)
 Methods for support type inquiry through isa, cast, and dyn_cast: More...
 
static MDNodeconcatenate (MDNode *A, MDNode *B)
 Methods for metadata merging. More...
 
static MDNodeintersect (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericTBAA (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericFPMath (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericRange (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericAliasScope (MDNode *A, MDNode *B)
 
static MDNodegetMostGenericAlignmentOrDereferenceable (MDNode *A, MDNode *B)
 

Friends

class LLVMContextImpl
 
class MDNode
 

Additional Inherited Members

- Public Types inherited from llvm::MDNode
using op_iterator = const MDOperand *
 
using op_range = iterator_range< op_iterator >
 
- Protected Types inherited from llvm::MDNode
using mutable_op_range = iterator_range< MDOperand * >
 
 Active type of storage. More...
- Protected Member Functions inherited from llvm::MDNode
 MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=None)
 
 ~MDNode ()=default
 
void * operator new (size_t Size, unsigned NumOps)
 
void operator delete (void *Mem)
 
void operator delete (void *, unsigned)
 Required by std, but never called. More...
 
void operator delete (void *, unsigned, bool)
 Required by std, but never called. More...
 
void dropAllReferences ()
 
MDOperandmutable_begin ()
 
MDOperandmutable_end ()
 
mutable_op_range mutable_operands ()
 
void setOperand (unsigned I, Metadata *New)
 Set an operand. More...
 
void storeDistinctInContext ()
 
- Static Protected Member Functions inherited from llvm::MDNode
template<class T , class StoreT >
static T * storeImpl (T *N, StorageType Storage, StoreT &Store)
 
template<class T >
static T * storeImpl (T *N, StorageType Storage)
 

Detailed Description

List of ValueAsMetadata, to be used as an argument to a dbg.value intrinsic.

Definition at line 3604 of file DebugInfoMetadata.h.

Member Function Documentation

◆ args_begin()

iterator llvm::DIArgList::args_begin ( )
inline

Definition at line 3638 of file DebugInfoMetadata.h.

References llvm::AMDGPU::HSAMD::Kernel::Key::Args.

◆ args_end()

iterator llvm::DIArgList::args_end ( )
inline

Definition at line 3639 of file DebugInfoMetadata.h.

References llvm::AMDGPU::HSAMD::Kernel::Key::Args.

◆ classof()

static bool llvm::DIArgList::classof ( const Metadata MD)
inlinestatic

Definition at line 3641 of file DebugInfoMetadata.h.

References llvm::Metadata::getMetadataID().

◆ DEFINE_MDNODE_GET()

llvm::DIArgList::DEFINE_MDNODE_GET ( DIArgList  ,
(ArrayRef< ValueAsMetadata * > Args)  ,
(Args)   
) const
inline

Definition at line 3632 of file DebugInfoMetadata.h.

◆ getArgs()

ArrayRef<ValueAsMetadata *> llvm::DIArgList::getArgs ( ) const
inline

◆ handleChangedOperand()

void DIArgList::handleChangedOperand ( void *  Ref,
Metadata New 
)

Friends And Related Function Documentation

◆ LLVMContextImpl

friend class LLVMContextImpl
friend

Definition at line 3605 of file DebugInfoMetadata.h.

◆ MDNode

friend class MDNode
friend

Definition at line 3606 of file DebugInfoMetadata.h.


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