LLVM 18.0.0git
|
#include "llvm/IR/DebugInfoMetadata.h"
Static Public Member Functions | |
static bool | classof (const Metadata *MD) |
![]() | |
static bool | classof (const Metadata *MD) |
![]() | |
static MDTuple * | get (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
static MDTuple * | getIfExists (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
static MDTuple * | getDistinct (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
static TempMDTuple | getTemporary (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
static void | deleteTemporary (MDNode *N) |
Deallocate a node created by getTemporary. | |
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. | |
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. | |
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. | |
static bool | classof (const Metadata *MD) |
Methods for support type inquiry through isa, cast, and dyn_cast: | |
static MDNode * | concatenate (MDNode *A, MDNode *B) |
Methods for metadata merging. | |
static MDNode * | intersect (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericTBAA (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericFPMath (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericRange (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericAliasScope (MDNode *A, MDNode *B) |
static MDNode * | getMostGenericAlignmentOrDereferenceable (MDNode *A, MDNode *B) |
static MDNode * | getMergedProfMetadata (MDNode *A, MDNode *B, const Instruction *AInstr, const Instruction *BInstr) |
Merge !prof metadata from two instructions. | |
Friends | |
class | LLVMContextImpl |
class | MDNode |
Additional Inherited Members | |
![]() | |
using | op_iterator = const MDOperand * |
using | op_range = iterator_range< op_iterator > |
![]() | |
enum | MetadataKind |
![]() | |
using | mutable_op_range = iterator_range< MDOperand * > |
![]() | |
enum | StorageType { Uniqued , Distinct , Temporary } |
Active type of storage. More... | |
![]() | |
DIMacroNode (LLVMContext &C, unsigned ID, StorageType Storage, unsigned MIType, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=std::nullopt) | |
~DIMacroNode ()=default | |
template<class Ty > | |
Ty * | getOperandAs (unsigned I) const |
StringRef | getStringOperand (unsigned I) const |
![]() | |
MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=std::nullopt) | |
~MDNode ()=default | |
void * | operator new (size_t Size, size_t NumOps, StorageType Storage) |
void | operator delete (void *Mem) |
void | operator delete (void *, unsigned) |
Required by std, but never called. | |
void | operator delete (void *, unsigned, bool) |
Required by std, but never called. | |
void | dropAllReferences () |
MDOperand * | mutable_begin () |
MDOperand * | mutable_end () |
mutable_op_range | mutable_operands () |
void | setOperand (unsigned I, Metadata *New) |
Set an operand. | |
unsigned | getNumUnresolved () const |
void | setNumUnresolved (unsigned N) |
void | storeDistinctInContext () |
void | resize (size_t NumOps) |
Resize the node to hold NumOps operands. | |
![]() | |
Metadata (unsigned ID, StorageType Storage) | |
~Metadata ()=default | |
void | handleChangedOperand (void *, Metadata *) |
Default handling of a changed operand, which asserts. | |
![]() | |
static MDString * | getCanonicalMDString (LLVMContext &Context, StringRef S) |
![]() | |
template<class T , class StoreT > | |
static T * | storeImpl (T *N, StorageType Storage, StoreT &Store) |
template<class T > | |
static T * | storeImpl (T *N, StorageType Storage) |
![]() | |
unsigned char | Storage: 7 |
Storage flag for non-uniqued, otherwise unowned, metadata. | |
unsigned char | SubclassData1: 1 |
unsigned short | SubclassData16 = 0 |
unsigned | SubclassData32 = 0 |
Definition at line 3665 of file DebugInfoMetadata.h.
Definition at line 3724 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 3703 of file DebugInfoMetadata.h.
llvm::DIMacroFile::DEFINE_MDNODE_GET | ( | DIMacroFile | , |
(unsigned MIType, unsigned Line, DIFile *File, DIMacroNodeArray Elements) | , | ||
(MIType, Line, File, Elements) | |||
) |
|
inline |
Definition at line 3717 of file DebugInfoMetadata.h.
References getRawElements().
Referenced by replaceElements().
|
inline |
Definition at line 3715 of file DebugInfoMetadata.h.
References getRawFile().
|
inline |
Definition at line 3714 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3722 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getElements().
|
inline |
Definition at line 3721 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getFile().
|
inline |
Definition at line 3705 of file DebugInfoMetadata.h.
References assert(), Elements, getElements(), llvm::is_contained(), and llvm::MDNode::replaceOperandWith().
|
friend |
Definition at line 3666 of file DebugInfoMetadata.h.
|
friend |
Definition at line 3667 of file DebugInfoMetadata.h.
Definition at line 3700 of file DebugInfoMetadata.h.
Referenced by replaceElements().
Definition at line 3699 of file DebugInfoMetadata.h.
Definition at line 3701 of file DebugInfoMetadata.h.
Definition at line 3699 of file DebugInfoMetadata.h.
Definition at line 3701 of file DebugInfoMetadata.h.
unsigned llvm::DIMacroFile::MIType |
Definition at line 3699 of file DebugInfoMetadata.h.
Definition at line 3701 of file DebugInfoMetadata.h.