LLVM 22.0.0git
|
Basic type, like 'int' or 'float'. More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Types | |
enum class | Signedness { Signed , 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 LLVM_ABI DIFlags | getFlag (StringRef Flag) |
static LLVM_ABI StringRef | getFlagString (DIFlags Flag) |
static LLVM_ABI 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 LLVM_ABI 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 LLVM_ABI MDNode * | concatenate (MDNode *A, MDNode *B) |
Methods for metadata merging. | |
static LLVM_ABI MDNode * | intersect (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMostGenericTBAA (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMostGenericFPMath (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMostGenericRange (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMostGenericNoaliasAddrspace (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMostGenericAliasScope (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMostGenericAlignmentOrDereferenceable (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMergedProfMetadata (MDNode *A, MDNode *B, const Instruction *AInstr, const Instruction *BInstr) |
Merge !prof metadata from two instructions. | |
static LLVM_ABI MDNode * | getMergedMemProfMetadata (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMergedCallsiteMetadata (MDNode *A, MDNode *B) |
static LLVM_ABI MDNode * | getMergedCalleeTypeMetadata (const MDNode *A, const MDNode *B) |
Friends | |
class | LLVMContextImpl |
class | MDNode |
Additional Inherited Members | |
![]() | |
static constexpr const unsigned | PoisonGeneratingIDs [] |
Metadata IDs that may generate poison. | |
![]() | |
using | mutable_op_range = iterator_range< MDOperand * > |
![]() | |
enum | StorageType { Uniqued , Distinct , Temporary } |
Active type of storage. More... | |
![]() | |
unsigned char | Storage: 7 |
Storage flag for non-uniqued, otherwise unowned, metadata. | |
unsigned char | SubclassData1: 1 |
unsigned short | SubclassData16 = 0 |
unsigned | SubclassData32 = 0 |
![]() | |
static constexpr unsigned | N_OPERANDS = 5 |
Basic type, like 'int' or 'float'.
TODO: Split out DW_TAG_unspecified_type. TODO: Drop unused accessors.
Definition at line 840 of file DebugInfoMetadata.h.
|
strong |
Enumerator | |
---|---|
Signed | |
Unsigned |
Definition at line 935 of file DebugInfoMetadata.h.
|
inlineprotected |
Definition at line 847 of file DebugInfoMetadata.h.
|
inlineprotected |
Definition at line 854 of file DebugInfoMetadata.h.
|
protecteddefault |
Definition at line 941 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 931 of file DebugInfoMetadata.h.
References cloneImpl().
|
inlineprotected |
Definition at line 889 of file DebugInfoMetadata.h.
References llvm::DIType::getAlignInBits(), llvm::MDNode::getContext(), getEncoding(), llvm::DIType::getFlags(), llvm::DIType::getNumExtraInhabitants(), llvm::DIType::getRawName(), llvm::DIType::getRawSizeInBits(), llvm::DINode::getTag(), and llvm::MDNode::getTemporary().
Referenced by clone().
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) | |||
) |
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags Flags unsigned StringRef uint64_t uint32_t unsigned uint32_t DIFlags Flags llvm::DIBasicType::DEFINE_MDNODE_GET | ( | DIBasicType | , |
(unsigned Tag, MDString *Name, uint64_t SizeInBits, uint32_t AlignInBits, unsigned Encoding, uint32_t NumExtraInhabitants, DIFlags Flags) | , | ||
(Tag, Name, SizeInBits, AlignInBits, Encoding, NumExtraInhabitants, Flags) | |||
) |
llvm::DIBasicType::DEFINE_MDNODE_GET | ( | DIBasicType | , |
(unsigned Tag, StringRef Name) | , | ||
(Tag, Name, 0, 0, 0, 0, FlagZero) | |||
) |
|
inline |
Definition at line 933 of file DebugInfoMetadata.h.
Referenced by cloneImpl(), getSignedness(), and llvm::DIFixedPointType::isSigned().
|
staticprotected |
Definition at line 868 of file DebugInfoMetadata.cpp.
References AlignInBits, assert(), DEFINE_GETIMPL_LOOKUP, DEFINE_GETIMPL_STORE, Flags, isCanonical(), Name, NumExtraInhabitants, SizeInBits, and Tag.
|
inlinestaticprotected |
Definition at line 872 of file DebugInfoMetadata.h.
References AlignInBits, Context, Flags, llvm::ConstantAsMetadata::get(), getImpl(), llvm::Type::getInt64Ty(), Name, NumExtraInhabitants, SizeInBits, llvm::Metadata::Storage, and Tag.
|
inlinestaticprotected |
Definition at line 863 of file DebugInfoMetadata.h.
References AlignInBits, Context, Flags, llvm::DINode::getCanonicalMDString(), getImpl(), Name, NumExtraInhabitants, SizeInBits, llvm::Metadata::Storage, and Tag.
Referenced by getImpl().
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 882 of file DebugInfoMetadata.cpp.
References getEncoding(), Signed, and Unsigned.
|
friend |
Definition at line 841 of file DebugInfoMetadata.h.
|
friend |
Definition at line 842 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t llvm::DIBasicType::AlignInBits |
Definition at line 906 of file DebugInfoMetadata.h.
Referenced by getImpl().
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::AlignInBits |
Definition at line 907 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 914 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 916 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 Flags unsigned MDString Metadata uint32_t llvm::DIBasicType::AlignInBits |
Definition at line 926 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::AlignInBits |
Definition at line 928 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned llvm::DIBasicType::Encoding |
Definition at line 906 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Encoding |
Definition at line 907 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 914 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 916 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 Flags unsigned MDString Metadata uint32_t unsigned llvm::DIBasicType::Encoding |
Definition at line 926 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Encoding |
Definition at line 928 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Flags |
Definition at line 906 of file DebugInfoMetadata.h.
Referenced by getImpl().
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 915 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Flags |
Definition at line 927 of file DebugInfoMetadata.h.
Definition at line 899 of file DebugInfoMetadata.h.
Referenced by getImpl().
Definition at line 900 of file DebugInfoMetadata.h.
Definition at line 905 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Name |
Definition at line 907 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 913 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 916 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 Flags unsigned MDString* llvm::DIBasicType::Name |
Definition at line 925 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Name |
Definition at line 928 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 915 of file DebugInfoMetadata.h.
Referenced by getImpl().
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 917 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t llvm::DIBasicType::NumExtraInhabitants |
Definition at line 927 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::NumExtraInhabitants |
Definition at line 929 of file DebugInfoMetadata.h.
Definition at line 899 of file DebugInfoMetadata.h.
Referenced by getImpl().
Definition at line 905 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::SizeInBits |
Definition at line 907 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 913 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 916 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 Flags unsigned MDString Metadata* llvm::DIBasicType::SizeInBits |
Definition at line 925 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::SizeInBits |
Definition at line 928 of file DebugInfoMetadata.h.
unsigned llvm::DIBasicType::Tag |
Definition at line 899 of file DebugInfoMetadata.h.
Referenced by getImpl().
Definition at line 900 of file DebugInfoMetadata.h.
Definition at line 905 of file DebugInfoMetadata.h.
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t unsigned DIFlags llvm::DIBasicType::Tag |
Definition at line 907 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 913 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 916 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 Flags unsigned llvm::DIBasicType::Tag |
Definition at line 925 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 Flags unsigned MDString Metadata uint32_t unsigned uint32_t DIFlags llvm::DIBasicType::Tag |
Definition at line 928 of file DebugInfoMetadata.h.