LLVM
15.0.0git
|
#include "llvm/IR/DebugInfoMetadata.h"
Static Public Member Functions | |
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. More... | |
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. 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 MDNode * | concatenate (MDNode *A, MDNode *B) |
Methods for metadata merging. More... | |
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) |
Public Attributes | |
MDString * | Name |
MDString Metadata * | File |
MDString Metadata unsigned | Line |
MDString Metadata unsigned MDString * | GetterName |
MDString Metadata unsigned MDString MDString * | SetterName |
MDString Metadata unsigned MDString MDString unsigned | Attributes |
MDString Metadata unsigned MDString MDString unsigned Metadata * | Type |
MDString Metadata unsigned MDString MDString unsigned Metadata | Name |
MDString Metadata unsigned MDString MDString unsigned Metadata | File |
MDString Metadata unsigned MDString MDString unsigned Metadata | Line |
MDString Metadata unsigned MDString MDString unsigned Metadata | GetterName |
MDString Metadata unsigned MDString MDString unsigned Metadata | SetterName |
MDString Metadata unsigned MDString MDString unsigned Metadata | Attributes |
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... | |
![]() | |
DINode (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=None) | |
~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. More... | |
![]() | |
MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=None) | |
~MDNode ()=default | |
void * | operator new (size_t Size, unsigned NumOps, StorageType Storage) |
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 () |
MDOperand * | mutable_begin () |
MDOperand * | mutable_end () |
mutable_op_range | mutable_operands () |
void | setOperand (unsigned I, Metadata *New) |
Set an operand. More... | |
unsigned | getNumUnresolved () const |
void | setNumUnresolved (unsigned N) |
void | storeDistinctInContext () |
![]() | |
Metadata (unsigned ID, StorageType Storage) | |
~Metadata ()=default | |
void | handleChangedOperand (void *, Metadata *) |
Default handling of a changed operand, which asserts. More... | |
![]() | |
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. More... | |
unsigned char | SubclassData1: 1 |
unsigned short | SubclassData16 = 0 |
unsigned | SubclassData32 = 0 |
Definition at line 3203 of file DebugInfoMetadata.h.
Definition at line 3277 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 3249 of file DebugInfoMetadata.h.
llvm::DIObjCProperty::DEFINE_MDNODE_GET | ( | DIObjCProperty | , |
(StringRef Name, DIFile *File, unsigned Line, StringRef GetterName, StringRef SetterName, unsigned Attributes, DIType *Type) | , | ||
(Name, File, Line, GetterName, SetterName, Attributes, Type) | |||
) |
|
inline |
Definition at line 3252 of file DebugInfoMetadata.h.
References Attributes.
|
inline |
Definition at line 3265 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3254 of file DebugInfoMetadata.h.
References getRawFile().
Referenced by llvm::DwarfUnit::addSourceLine(), getDirectory(), and getFilename().
|
inline |
Definition at line 3259 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3255 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
|
inline |
Definition at line 3251 of file DebugInfoMetadata.h.
Referenced by llvm::DwarfUnit::addSourceLine().
|
inline |
Definition at line 3253 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
|
inline |
Definition at line 3272 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getFile().
|
inline |
Definition at line 3273 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3271 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3274 of file DebugInfoMetadata.h.
|
inline |
Definition at line 3275 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getType().
|
inline |
Definition at line 3256 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
|
inline |
Definition at line 3257 of file DebugInfoMetadata.h.
References getRawType().
|
friend |
Definition at line 3204 of file DebugInfoMetadata.h.
|
friend |
Definition at line 3205 of file DebugInfoMetadata.h.
Definition at line 3245 of file DebugInfoMetadata.h.
Definition at line 3246 of file DebugInfoMetadata.h.
Definition at line 3243 of file DebugInfoMetadata.h.
Definition at line 3246 of file DebugInfoMetadata.h.
Definition at line 3244 of file DebugInfoMetadata.h.
Definition at line 3246 of file DebugInfoMetadata.h.
Definition at line 3243 of file DebugInfoMetadata.h.
Definition at line 3246 of file DebugInfoMetadata.h.
MDString* llvm::DIObjCProperty::Name |
Definition at line 3243 of file DebugInfoMetadata.h.
Definition at line 3246 of file DebugInfoMetadata.h.
Definition at line 3244 of file DebugInfoMetadata.h.
Definition at line 3246 of file DebugInfoMetadata.h.
Definition at line 3245 of file DebugInfoMetadata.h.