LLVM
8.0.1
|
Basic type, like 'int' or 'float'. More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Types | |
enum | Signedness { Signedness::Signed, Signedness::Unsigned } |
![]() | |
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 |
Static Public Member Functions | |
static bool | classof (const Metadata *MD) |
![]() | |
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. 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< std::is_base_of< MDNode, T >::value, T * >::type | replaceWithPermanent (std::unique_ptr< T, TempMDNodeDeleter > N) |
Replace a temporary node with a permanent one. More... | |
template<class T > | |
static std::enable_if< std::is_base_of< MDNode, T >::value, T * >::type | replaceWithUniqued (std::unique_ptr< T, TempMDNodeDeleter > N) |
Replace a temporary node with a uniqued one. More... | |
template<class T > | |
static std::enable_if< std::is_base_of< MDNode, T >::value, T * >::type | 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 | |
unsigned | Tag |
unsigned StringRef | Name |
unsigned StringRef uint64_t | SizeInBits |
unsigned StringRef uint64_t uint32_t | AlignInBits |
unsigned StringRef uint64_t uint32_t unsigned | Encoding |
unsigned StringRef uint64_t uint32_t unsigned DIFlags | Flags |
unsigned StringRef uint64_t uint32_t unsigned DIFlags | Tag |
unsigned StringRef uint64_t uint32_t unsigned DIFlags | Name |
unsigned StringRef uint64_t uint32_t unsigned DIFlags | SizeInBits |
unsigned StringRef uint64_t uint32_t unsigned DIFlags | AlignInBits |
unsigned StringRef uint64_t uint32_t unsigned DIFlags | Encoding |
Friends | |
class | LLVMContextImpl |
class | MDNode |
Additional Inherited Members | |
![]() | |
using | mutable_op_range = iterator_range< MDOperand * > |
![]() | |
enum | StorageType { Uniqued, Distinct, Temporary } |
Active type of storage. More... | |
![]() | |
DIType (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, unsigned Line, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, DIFlags Flags, ArrayRef< Metadata *> Ops) | |
~DIType ()=default | |
void | init (unsigned Line, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, DIFlags Flags) |
void | mutate (unsigned Tag, unsigned Line, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, DIFlags Flags) |
Change fields in place. 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=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) |
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... | |
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 | ImplicitCode: 1 |
unsigned short | SubclassData16 = 0 |
unsigned | SubclassData32 = 0 |
Basic type, like 'int' or 'float'.
TODO: Split out DW_TAG_unspecified_type. TODO: Drop unused accessors.
Definition at line 736 of file DebugInfoMetadata.h.
|
strong |
Enumerator | |
---|---|
Signed | |
Unsigned |
Definition at line 786 of file DebugInfoMetadata.h.
Definition at line 792 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
llvm::DIBasicType::DEFINE_MDNODE_GET | ( | DIBasicType | , |
(unsigned Tag, StringRef Name) | , | ||
(Tag, Name, 0, 0, 0, FlagZero) | |||
) |
|
inline |
Definition at line 777 of file DebugInfoMetadata.h.
|
inline |
Definition at line 784 of file DebugInfoMetadata.h.
Referenced by llvm::BTFDebug::BTFDebug(), emitDebugLocValue(), llvm::DwarfUnit::getParentContextString(), llvm::MDNodeKeyImpl< DIBasicType >::isKeyOf(), rotateSign(), and shouldEmitUdt().
Optional< DIBasicType::Signedness > DIBasicType::getSignedness | ( | ) | const |
Return the signedness of this type, or None if this type is neither signed nor unsigned.
Definition at line 350 of file DebugInfoMetadata.cpp.
References assert(), DEFINE_GETIMPL_LOOKUP, DEFINE_GETIMPL_STORE, llvm::ARMBuildAttrs::File, isCanonical(), Name, llvm::None, llvm::DILocation::Scope, Signed, and Unsigned.
|
friend |
Definition at line 737 of file DebugInfoMetadata.h.
|
friend |
Definition at line 738 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.
unsigned llvm::DIBasicType::Tag |
Definition at line 774 of file DebugInfoMetadata.h.
Definition at line 774 of file DebugInfoMetadata.h.