LLVM 18.0.0git
|
String type, Fortran CHARACTER(n) More...
#include "llvm/IR/DebugInfoMetadata.h"
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. | |
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. | |
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 * | 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 | |
![]() | |
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... | |
![]() | |
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. | |
![]() | |
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=std::nullopt) | |
~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. | |
![]() | |
MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2=std::nullopt) | |
~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. | |
![]() | |
Metadata (unsigned ID, StorageType Storage) | |
~Metadata ()=default | |
void | handleChangedOperand (void *, Metadata *) |
Default handling of a changed operand, which asserts. | |
![]() | |
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. | |
unsigned char | SubclassData1: 1 |
unsigned short | SubclassData16 = 0 |
unsigned | SubclassData32 = 0 |
String type, Fortran CHARACTER(n)
Definition at line 872 of file DebugInfoMetadata.h.
Definition at line 933 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 923 of file DebugInfoMetadata.h.
llvm::DIStringType::DEFINE_MDNODE_GET | ( | DIStringType | , |
(unsigned Tag, StringRef Name, uint64_t SizeInBits, uint32_t AlignInBits) | , | ||
(Tag, Name, nullptr, nullptr, nullptr, SizeInBits, AlignInBits, 0) | |||
) |
|
inline |
Definition at line 949 of file DebugInfoMetadata.h.
|
inline |
Definition at line 951 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getStringLength().
|
inline |
Definition at line 953 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getStringLengthExp().
|
inline |
Definition at line 955 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getStringLocationExp().
|
inline |
Definition at line 937 of file DebugInfoMetadata.h.
References getRawStringLength().
|
inline |
Definition at line 941 of file DebugInfoMetadata.h.
References getRawStringLengthExp().
|
inline |
Definition at line 945 of file DebugInfoMetadata.h.
References getRawStringLocationExp().
|
friend |
Definition at line 873 of file DebugInfoMetadata.h.
|
friend |
Definition at line 874 of file DebugInfoMetadata.h.
Definition at line 919 of file DebugInfoMetadata.h.
unsigned MDString Metadata Metadata Metadata uint64_t uint32_t unsigned llvm::DIStringType::AlignInBits |
Definition at line 922 of file DebugInfoMetadata.h.
unsigned MDString Metadata Metadata Metadata uint64_t uint32_t unsigned llvm::DIStringType::Encoding |
Definition at line 920 of file DebugInfoMetadata.h.
Definition at line 917 of file DebugInfoMetadata.h.
Definition at line 921 of file DebugInfoMetadata.h.
Definition at line 919 of file DebugInfoMetadata.h.
unsigned MDString Metadata Metadata Metadata uint64_t uint32_t unsigned llvm::DIStringType::SizeInBits |
Definition at line 922 of file DebugInfoMetadata.h.
Definition at line 917 of file DebugInfoMetadata.h.
unsigned MDString Metadata Metadata Metadata uint64_t uint32_t unsigned llvm::DIStringType::StringLength |
Definition at line 921 of file DebugInfoMetadata.h.
Definition at line 918 of file DebugInfoMetadata.h.
unsigned MDString Metadata Metadata Metadata uint64_t uint32_t unsigned llvm::DIStringType::StringLengthExp |
Definition at line 921 of file DebugInfoMetadata.h.
Definition at line 918 of file DebugInfoMetadata.h.
unsigned MDString Metadata Metadata Metadata uint64_t uint32_t unsigned llvm::DIStringType::StringLocationExp |
Definition at line 922 of file DebugInfoMetadata.h.
unsigned llvm::DIStringType::Tag |
Definition at line 917 of file DebugInfoMetadata.h.
Definition at line 921 of file DebugInfoMetadata.h.