LLVM 20.0.0git
|
Label. More...
#include "llvm/IR/DebugInfoMetadata.h"
Static Public Member Functions | |
static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::DINode | |
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 Public Member Functions inherited from llvm::MDNode | |
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. | |
Public Attributes | |
Metadata * | Scope |
Metadata MDString * | Name |
Metadata MDString Metadata * | File |
Metadata MDString Metadata unsigned | Line |
Metadata MDString Metadata unsigned | Scope |
Metadata MDString Metadata unsigned | Name |
Metadata MDString Metadata unsigned | File |
Friends | |
class | LLVMContextImpl |
class | MDNode |
Additional Inherited Members | |
Public Types inherited from llvm::DINode | |
enum | DIFlags : uint32_t { FlagAccessibility = FlagPrivate | FlagProtected | FlagPublic , FlagPtrToMemberRep } |
Debug info flags. More... | |
Public Types inherited from llvm::MDNode | |
using | op_iterator = const MDOperand * |
using | op_range = iterator_range< op_iterator > |
Public Types inherited from llvm::Metadata | |
enum | MetadataKind |
Protected Types inherited from llvm::MDNode | |
using | mutable_op_range = iterator_range< MDOperand * > |
Protected Types inherited from llvm::Metadata | |
enum | StorageType { Uniqued , Distinct , Temporary } |
Active type of storage. More... | |
Protected Member Functions inherited from llvm::DINode | |
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. | |
Protected Member Functions inherited from llvm::MDNode | |
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. | |
Protected Member Functions inherited from llvm::Metadata | |
Metadata (unsigned ID, StorageType Storage) | |
~Metadata ()=default | |
void | handleChangedOperand (void *, Metadata *) |
Default handling of a changed operand, which asserts. | |
Static Protected Member Functions inherited from llvm::DINode | |
static MDString * | getCanonicalMDString (LLVMContext &Context, StringRef S) |
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) |
Protected Attributes inherited from llvm::Metadata | |
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 3572 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
Definition at line 3547 of file DebugInfoMetadata.h.
llvm::DILabel::DEFINE_MDNODE_GET | ( | DILabel | , |
(DILocalScope *Scope, StringRef Name, DIFile *File, unsigned Line) | , | ||
(Scope, Name, File, Line) | |||
) |
|
inline |
Definition at line 3557 of file DebugInfoMetadata.h.
References getRawFile().
Referenced by fixupDebugInfoPostExtraction().
|
inline |
Definition at line 3555 of file DebugInfoMetadata.h.
References llvm::Metadata::SubclassData32.
Referenced by fixupDebugInfoPostExtraction().
|
inline |
Definition at line 3556 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
Referenced by fixupDebugInfoPostExtraction(), and llvm::DbgLabel::getName().
|
inline |
Definition at line 3561 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getFile().
|
inline |
Definition at line 3560 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3559 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getScope().
|
inline |
Get the local scope for this label.
Labels must be defined in a local scope.
Definition at line 3552 of file DebugInfoMetadata.h.
References getRawScope().
Referenced by fixupDebugInfoPostExtraction(), and isValidLocationForIntrinsic().
|
inline |
Check that a location is valid for this label.
Check that DL
exists, is in the same subprogram, and has the same inlined-at location as this
. (Otherwise, it's not a valid attachment to a DbgInfoIntrinsic.)
Definition at line 3568 of file DebugInfoMetadata.h.
References DL, getScope(), and llvm::DILocalScope::getSubprogram().
Referenced by llvm::calculateDbgEntityHistory().
|
friend |
Definition at line 3515 of file DebugInfoMetadata.h.
|
friend |
Definition at line 3516 of file DebugInfoMetadata.h.
Definition at line 3543 of file DebugInfoMetadata.h.
Definition at line 3545 of file DebugInfoMetadata.h.
Definition at line 3544 of file DebugInfoMetadata.h.
Definition at line 3543 of file DebugInfoMetadata.h.
Definition at line 3545 of file DebugInfoMetadata.h.
Metadata* llvm::DILabel::Scope |
Definition at line 3543 of file DebugInfoMetadata.h.
Definition at line 3545 of file DebugInfoMetadata.h.