LLVM 19.0.0git
|
Debug common block. More...
#include "llvm/IR/DebugInfoMetadata.h"
Static Public Member Functions | |
static bool | classof (const Metadata *MD) |
![]() | |
static bool | classof (const Metadata *MD) |
![]() | |
static DIFlags | getFlag (StringRef Flag) |
static StringRef | getFlagString (DIFlags Flag) |
static DIFlags | splitFlags (DIFlags Flags, SmallVectorImpl< DIFlags > &SplitFlags) |
Split up a flags bitfield. | |
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 | |
![]() | |
enum | DIFlags : uint32_t { FlagAccessibility = FlagPrivate | FlagProtected | FlagPublic , FlagPtrToMemberRep } |
Debug info flags. More... | |
![]() | |
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... | |
![]() | |
DIScope (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata * > Ops) | |
~DIScope ()=default | |
![]() | |
DINode (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=std::nullopt) | |
~DINode ()=default | |
template<class Ty > | |
Ty * | getOperandAs (unsigned I) const |
StringRef | getStringOperand (unsigned I) const |
void | setTag (unsigned Tag) |
Allow subclasses to mutate the tag. | |
![]() | |
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 |
Debug common block.
Uses the SubclassData32 Metadata slot.
Definition at line 3340 of file DebugInfoMetadata.h.
Definition at line 3389 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 3374 of file DebugInfoMetadata.h.
llvm::DICommonBlock::DEFINE_MDNODE_GET | ( | DICommonBlock | , |
(DIScope *Scope, DIGlobalVariable *Decl, StringRef Name, DIFile *File, unsigned LineNo) | , | ||
(Scope, Decl, Name, File, LineNo) | |||
) |
|
inline |
Definition at line 3377 of file DebugInfoMetadata.h.
References getRawDecl().
Referenced by llvm::DwarfCompileUnit::getOrCreateCommonBlock().
|
inline |
Definition at line 3381 of file DebugInfoMetadata.h.
References getRawFile().
Referenced by llvm::DwarfCompileUnit::getOrCreateCommonBlock().
|
inline |
Definition at line 3382 of file DebugInfoMetadata.h.
References llvm::Metadata::SubclassData32.
Referenced by llvm::DwarfCompileUnit::getOrCreateCommonBlock().
|
inline |
Definition at line 3380 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
Referenced by llvm::DwarfCompileUnit::getOrCreateCommonBlock().
|
inline |
Definition at line 3385 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getDecl().
|
inline |
Definition at line 3387 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getFile().
|
inline |
Definition at line 3386 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3384 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getScope().
|
inline |
Definition at line 3376 of file DebugInfoMetadata.h.
References getRawScope().
Referenced by llvm::DwarfCompileUnit::getOrCreateCommonBlock().
|
friend |
Definition at line 3341 of file DebugInfoMetadata.h.
|
friend |
Definition at line 3342 of file DebugInfoMetadata.h.
Definition at line 3370 of file DebugInfoMetadata.h.
Definition at line 3372 of file DebugInfoMetadata.h.
Definition at line 3371 of file DebugInfoMetadata.h.
Definition at line 3372 of file DebugInfoMetadata.h.
Definition at line 3371 of file DebugInfoMetadata.h.
Definition at line 3370 of file DebugInfoMetadata.h.
Definition at line 3372 of file DebugInfoMetadata.h.
Metadata* llvm::DICommonBlock::Scope |
Definition at line 3370 of file DebugInfoMetadata.h.
Definition at line 3372 of file DebugInfoMetadata.h.