LLVM 22.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 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 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 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 Public Attributes inherited from llvm::Metadata | |
static constexpr const unsigned | PoisonGeneratingIDs [] |
Metadata IDs that may generate poison. | |
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 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 |
Static Protected Attributes inherited from llvm::DIType | |
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.
References AbstractManglingParser< Derived, Alloc >::Ops, AlignInBits, llvm::CallingConv::C, llvm::DIType::DIType(), Flags, NumExtraInhabitants, llvm::Metadata::Storage, and Tag.
Referenced by DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), getImpl(), getImpl(), getImpl(), and llvm::DIFixedPointType::MDNode.
|
inlineprotected |
Definition at line 854 of file DebugInfoMetadata.h.
References AbstractManglingParser< Derived, Alloc >::Ops, AlignInBits, llvm::CallingConv::C, llvm::DIType::DIType(), Flags, NumExtraInhabitants, llvm::Metadata::Storage, and Tag.
|
protecteddefault |
Definition at line 941 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 931 of file DebugInfoMetadata.h.
References clone(), and cloneImpl().
Referenced by clone(), and llvm::DIFixedPointType::DEFINE_MDNODE_GET().
|
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(), and llvm::DIFixedPointType::DEFINE_MDNODE_GET().
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) | ) |
References DEFINE_MDNODE_GET(), DIBasicType(), Name, SizeInBits, and Tag.
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) | ) |
References AlignInBits, DEFINE_MDNODE_GET(), DIBasicType(), Flags, Name, SizeInBits, and Tag.
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) | ) |
References AlignInBits, DEFINE_MDNODE_GET(), DIBasicType(), Flags, Name, NumExtraInhabitants, SizeInBits, and Tag.
llvm::DIBasicType::DEFINE_MDNODE_GET | ( | DIBasicType | , |
(unsigned Tag, StringRef Name) | , | ||
(Tag, Name, 0, 0, 0, 0, FlagZero) | ) |
References DIBasicType(), Name, and Tag.
Referenced by DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), and DEFINE_MDNODE_GET().
|
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 AbstractManglingParser< Derived, Alloc >::Ops, AlignInBits, assert(), DEFINE_GETIMPL_LOOKUP, DEFINE_GETIMPL_STORE, DIBasicType(), Flags, isCanonical(), Name, NumExtraInhabitants, SizeInBits, llvm::Metadata::Storage, and Tag.
|
inlinestaticprotected |
Definition at line 872 of file DebugInfoMetadata.h.
References AlignInBits, DIBasicType(), 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, DIBasicType(), Flags, llvm::DINode::getCanonicalMDString(), getImpl(), Name, NumExtraInhabitants, SizeInBits, llvm::Metadata::Storage, and Tag.
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.
References LLVMContextImpl.
Referenced by LLVMContextImpl.
|
friend |
unsigned StringRef uint64_t FlagZero unsigned StringRef uint64_t uint32_t llvm::DIBasicType::AlignInBits |
Definition at line 906 of file DebugInfoMetadata.h.
Referenced by DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DIBasicType(), DIBasicType(), getImpl(), getImpl(), and 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 DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DIBasicType(), DIBasicType(), getImpl(), getImpl(), and 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 DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), getImpl(), getImpl(), and 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 DEFINE_MDNODE_GET(), DIBasicType(), DIBasicType(), getImpl(), getImpl(), and 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 DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), getImpl(), getImpl(), and 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 DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DEFINE_MDNODE_GET(), DIBasicType(), DIBasicType(), getImpl(), getImpl(), and 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.