LLVM 20.0.0git
|
Basic type, like 'int' or 'float'. More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Types | |
enum class | Signedness { Signed , Unsigned } |
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 |
Static Public Member Functions | |
static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::DIType | |
static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::DIScope | |
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 * | getMostGenericNoaliasAddrspace (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 | |
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::DIType | |
DIType (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, unsigned Line, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, uint32_t NumExtraInhabitants, DIFlags Flags, ArrayRef< Metadata * > Ops) | |
~DIType ()=default | |
void | init (unsigned Line, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, uint32_t NumExtraInhabitants, DIFlags Flags) |
void | mutate (unsigned Tag, unsigned Line, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, uint32_t NumExtraInhabitants, DIFlags Flags) |
Change fields in place. | |
Protected Member Functions inherited from llvm::DIScope | |
DIScope (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata * > Ops) | |
~DIScope ()=default | |
Protected Member Functions inherited from llvm::DINode | |
DINode (LLVMContext &C, unsigned ID, StorageType Storage, unsigned Tag, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2={}) | |
~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={}) | |
~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 |
Basic type, like 'int' or 'float'.
TODO: Split out DW_TAG_unspecified_type. TODO: Drop unused accessors.
Definition at line 823 of file DebugInfoMetadata.h.
|
strong |
Enumerator | |
---|---|
Signed | |
Unsigned |
Definition at line 893 of file DebugInfoMetadata.h.
Definition at line 899 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
unsigned StringRef uint64_t FlagZero llvm::DIBasicType::DEFINE_MDNODE_GET | ( | DIBasicType | , |
(unsigned Tag, MDString *Name, uint64_t SizeInBits) | , | ||
(Tag, Name, SizeInBits, 0, 0, 0, FlagZero) | |||
) |
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags llvm::DIBasicType::DEFINE_MDNODE_GET | ( | DIBasicType | , |
(unsigned Tag, MDString *Name, uint64_t SizeInBits, uint32_t AlignInBits, unsigned Encoding, DIFlags Flags) | , | ||
(Tag, Name, SizeInBits, AlignInBits, Encoding, 0, Flags) | |||
) |
|
inline |
Definition at line 882 of file DebugInfoMetadata.h.
llvm::DIBasicType::DEFINE_MDNODE_GET | ( | DIBasicType | , |
(unsigned Tag, StringRef Name) | , | ||
(Tag, Name, 0, 0, 0, 0, FlagZero) | |||
) |
|
inline |
Definition at line 891 of file DebugInfoMetadata.h.
Referenced by getSignedness().
std::optional< DIBasicType::Signedness > DIBasicType::getSignedness | ( | ) | const |
Return the signedness of this type, or std::nullopt if this type is neither signed nor unsigned.
Definition at line 678 of file DebugInfoMetadata.cpp.
References getEncoding(), Signed, and Unsigned.
|
friend |
Definition at line 824 of file DebugInfoMetadata.h.
|
friend |
Definition at line 825 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t llvm::DIBasicType::AlignInBits |
Definition at line 870 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::AlignInBits |
Definition at line 871 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t llvm::DIBasicType::AlignInBits |
Definition at line 878 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::AlignInBits |
Definition at line 880 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned llvm::DIBasicType::Encoding |
Definition at line 870 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Encoding |
Definition at line 871 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned llvm::DIBasicType::Encoding |
Definition at line 878 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Encoding |
Definition at line 880 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Flags |
Definition at line 870 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Flags |
Definition at line 879 of file DebugInfoMetadata.h.
Definition at line 863 of file DebugInfoMetadata.h.
Definition at line 864 of file DebugInfoMetadata.h.
Definition at line 869 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Name |
Definition at line 871 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef llvm::DIBasicType::Name |
Definition at line 877 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Name |
Definition at line 880 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t llvm::DIBasicType::NumExtraInhabitants |
Definition at line 879 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::NumExtraInhabitants |
Definition at line 881 of file DebugInfoMetadata.h.
Definition at line 863 of file DebugInfoMetadata.h.
Definition at line 869 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::SizeInBits |
Definition at line 871 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t llvm::DIBasicType::SizeInBits |
Definition at line 877 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::SizeInBits |
Definition at line 880 of file DebugInfoMetadata.h.
unsigned llvm::DIBasicType::Tag |
Definition at line 863 of file DebugInfoMetadata.h.
Definition at line 864 of file DebugInfoMetadata.h.
Definition at line 869 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Tag |
Definition at line 871 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned llvm::DIBasicType::Tag |
Definition at line 877 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Tag |
Definition at line 880 of file DebugInfoMetadata.h.