LLVM 22.0.0git
|
#include "llvm/IR/DebugInfoMetadata.h"
Static Public Member Functions | |
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 | |
![]() | |
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 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... | |
![]() | |
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. | |
![]() | |
LLVM_ABI | MDNode (LLVMContext &Context, unsigned ID, StorageType Storage, ArrayRef< Metadata * > Ops1, ArrayRef< Metadata * > Ops2={}) |
~MDNode ()=default | |
LLVM_ABI void * | operator new (size_t Size, size_t NumOps, StorageType Storage) |
LLVM_ABI 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. | |
LLVM_ABI void | dropAllReferences () |
MDOperand * | mutable_begin () |
MDOperand * | mutable_end () |
mutable_op_range | mutable_operands () |
LLVM_ABI void | setOperand (unsigned I, Metadata *New) |
Set an operand. | |
unsigned | getNumUnresolved () const |
void | setNumUnresolved (unsigned N) |
LLVM_ABI 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 |
Definition at line 4177 of file DebugInfoMetadata.h.
Definition at line 4250 of file DebugInfoMetadata.h.
References llvm::Metadata::getMetadataID().
|
inline |
Definition at line 4222 of file DebugInfoMetadata.h.
llvm::DIObjCProperty::DEFINE_MDNODE_GET | ( | DIObjCProperty | , |
(StringRef Name, DIFile *File, unsigned Line, StringRef GetterName, StringRef SetterName, unsigned Attributes, DIType *Type) | , | ||
(Name, File, Line, GetterName, SetterName, Attributes, Type) | |||
) |
|
inline |
Definition at line 4225 of file DebugInfoMetadata.h.
References Attributes.
|
inline |
Definition at line 4238 of file DebugInfoMetadata.h.
|
inline |
Definition at line 4227 of file DebugInfoMetadata.h.
References getRawFile().
Referenced by llvm::DwarfUnit::addSourceLine(), getDirectory(), and getFilename().
|
inline |
Definition at line 4232 of file DebugInfoMetadata.h.
|
inline |
Definition at line 4228 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
|
inline |
Definition at line 4224 of file DebugInfoMetadata.h.
Referenced by llvm::DwarfUnit::addSourceLine().
|
inline |
Definition at line 4226 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
|
inline |
Definition at line 4245 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getFile().
|
inline |
Definition at line 4246 of file DebugInfoMetadata.h.
|
inline |
Definition at line 4244 of file DebugInfoMetadata.h.
|
inline |
Definition at line 4247 of file DebugInfoMetadata.h.
|
inline |
Definition at line 4248 of file DebugInfoMetadata.h.
References llvm::MDNode::getOperand().
Referenced by getType().
|
inline |
Definition at line 4229 of file DebugInfoMetadata.h.
References llvm::DINode::getStringOperand().
|
inline |
Definition at line 4230 of file DebugInfoMetadata.h.
References getRawType().
|
friend |
Definition at line 4178 of file DebugInfoMetadata.h.
|
friend |
Definition at line 4179 of file DebugInfoMetadata.h.
Definition at line 4218 of file DebugInfoMetadata.h.
Definition at line 4219 of file DebugInfoMetadata.h.
Definition at line 4216 of file DebugInfoMetadata.h.
Definition at line 4219 of file DebugInfoMetadata.h.
Definition at line 4217 of file DebugInfoMetadata.h.
Definition at line 4219 of file DebugInfoMetadata.h.
Definition at line 4216 of file DebugInfoMetadata.h.
Definition at line 4219 of file DebugInfoMetadata.h.
MDString* llvm::DIObjCProperty::Name |
Definition at line 4216 of file DebugInfoMetadata.h.
Definition at line 4219 of file DebugInfoMetadata.h.
Definition at line 4217 of file DebugInfoMetadata.h.
Definition at line 4219 of file DebugInfoMetadata.h.
Definition at line 4218 of file DebugInfoMetadata.h.