LLVM 20.0.0git |
Compile unit.More...
#include "llvm/IR/DebugInfoMetadata.h"
Public Types | |
enum | DebugEmissionKind : unsigned { NoDebug = 0,FullDebug,LineTablesOnly,DebugDirectivesOnly, LastEmissionKind = DebugDirectivesOnly } |
enum class | DebugNameTableKind : unsigned { Default = 0,GNU = 1,None = 2,Apple = 3, LastDebugNameTableKind = Apple } |
![]() | |
enum | DIFlags : uint32_t {FlagAccessibility = FlagPrivate | FlagProtected | FlagPublic,FlagPtrToMemberRep } |
Debug info flags.More... | |
![]() | |
using | op_iterator =constMDOperand * |
using | op_range =iterator_range<op_iterator > |
![]() | |
enum | MetadataKind |
Static Public Member Functions | |
static std::optional<DebugEmissionKind > | getEmissionKind (StringRef Str) |
staticconstchar * | emissionKindString (DebugEmissionKind EK) |
static std::optional<DebugNameTableKind > | getNameTableKind (StringRef Str) |
staticconstchar * | nameTableKindString (DebugNameTableKind PK) |
static void | get ()=delete |
static void | getIfExists ()=delete |
staticbool | classof (constMetadata *MD) |
![]() | |
staticbool | classof (constMetadata *MD) |
![]() | |
staticDIFlags | getFlag (StringRef Flag) |
staticStringRef | getFlagString (DIFlags Flag) |
staticDIFlags | splitFlags (DIFlags Flags,SmallVectorImpl<DIFlags > &SplitFlags) |
Split up a flags bitfield. | |
staticbool | classof (constMetadata *MD) |
![]() | |
staticMDTuple * | get (LLVMContext &Context,ArrayRef<Metadata * > MDs) |
staticMDTuple * | getIfExists (LLVMContext &Context,ArrayRef<Metadata * > MDs) |
staticMDTuple * | 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<classT > | |
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<classT > | |
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<classT > | |
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. | |
staticbool | classof (constMetadata *MD) |
Methods for support type inquiry through isa, cast, and dyn_cast: | |
staticMDNode * | concatenate (MDNode *A,MDNode *B) |
Methods for metadata merging. | |
staticMDNode * | intersect (MDNode *A,MDNode *B) |
staticMDNode * | getMostGenericTBAA (MDNode *A,MDNode *B) |
staticMDNode * | getMostGenericFPMath (MDNode *A,MDNode *B) |
staticMDNode * | getMostGenericRange (MDNode *A,MDNode *B) |
staticMDNode * | getMostGenericNoaliasAddrspace (MDNode *A,MDNode *B) |
staticMDNode * | getMostGenericAliasScope (MDNode *A,MDNode *B) |
staticMDNode * | getMostGenericAlignmentOrDereferenceable (MDNode *A,MDNode *B) |
staticMDNode * | getMergedProfMetadata (MDNode *A,MDNode *B,constInstruction *AInstr,constInstruction *BInstr) |
Merge !prof metadata from two instructions. | |
staticMDNode * | getMergedMemProfMetadata (MDNode *A,MDNode *B) |
staticMDNode * | getMergedCallsiteMetadata (MDNode *A,MDNode *B) |
Friends | |
class | LLVMContextImpl |
class | MDNode |
Additional Inherited Members | |
![]() | |
static constexprconstunsigned | PoisonGeneratingIDs [] |
Metadata IDs that may generate poison. | |
![]() | |
using | mutable_op_range =iterator_range<MDOperand * > |
![]() | |
enum | StorageType {Uniqued,Distinct,Temporary } |
Active type of storage.More... | |
![]() | |
DIScope (LLVMContext &C,unsignedID,StorageTypeStorage,unsignedTag,ArrayRef<Metadata * > Ops) | |
~DIScope ()=default | |
![]() | |
DINode (LLVMContext &C,unsignedID,StorageTypeStorage,unsignedTag,ArrayRef<Metadata * > Ops1,ArrayRef<Metadata * > Ops2={}) | |
~DINode ()=default | |
template<class Ty > | |
Ty * | getOperandAs (unsignedI)const |
StringRef | getStringOperand (unsignedI)const |
void | setTag (unsignedTag) |
Allow subclasses to mutate the tag. | |
![]() | |
MDNode (LLVMContext &Context,unsignedID,StorageTypeStorage,ArrayRef<Metadata * > Ops1,ArrayRef<Metadata * > Ops2={}) | |
~MDNode ()=default | |
void * | operator new (size_tSize, size_t NumOps,StorageTypeStorage) |
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 (unsignedI,Metadata *New) |
Set an operand. | |
unsigned | getNumUnresolved ()const |
void | setNumUnresolved (unsignedN) |
void | storeDistinctInContext () |
void | resize (size_t NumOps) |
Resize the node to holdNumOps operands. | |
![]() | |
Metadata (unsignedID,StorageTypeStorage) | |
~Metadata ()=default | |
void | handleChangedOperand (void *,Metadata *) |
Default handling of a changed operand, which asserts. | |
![]() | |
staticMDString * | getCanonicalMDString (LLVMContext &Context,StringRef S) |
![]() | |
template<classT , class StoreT > | |
staticT * | storeImpl (T *N,StorageTypeStorage, StoreT &Store) |
template<classT > | |
staticT * | storeImpl (T *N,StorageTypeStorage) |
![]() | |
unsignedchar | Storage: 7 |
Storage flag for non-uniqued, otherwise unowned, metadata. | |
unsignedchar | SubclassData1: 1 |
unsigned short | SubclassData16 = 0 |
unsigned | SubclassData32 = 0 |
Compile unit.
Definition at line1469 of fileDebugInfoMetadata.h.
Enumerator | |
---|---|
NoDebug | |
FullDebug | |
LineTablesOnly | |
DebugDirectivesOnly | |
LastEmissionKind |
Definition at line1474 of fileDebugInfoMetadata.h.
| strong |
Enumerator | |
---|---|
Default | |
GNU | |
None | |
Apple | |
LastDebugNameTableKind |
Definition at line1482 of fileDebugInfoMetadata.h.
Definition at line1665 of fileDebugInfoMetadata.h.
Referencesllvm::Metadata::getMetadataID().
| inline |
Definition at line1590 of fileDebugInfoMetadata.h.
llvm::DICompileUnit::DEFINE_MDNODE_GET_DISTINCT_TEMPORARY | ( | DICompileUnit | , |
(unsignedSourceLanguage,DIFile *File,StringRefProducer,bool IsOptimized,StringRefFlags,unsigned RuntimeVersion,StringRefSplitDebugFilename,DebugEmissionKind EmissionKind, DICompositeTypeArrayEnumTypes, DIScopeArrayRetainedTypes, DIGlobalVariableExpressionArrayGlobalVariables, DIImportedEntityArrayImportedEntities, DIMacroNodeArrayMacros,uint64_t DWOId,bool SplitDebugInlining,bool DebugInfoForProfiling,DebugNameTableKind NameTableKind,bool RangesBaseAddress,StringRefSysRoot,StringRefSDK) | , | ||
(SourceLanguage,File,Producer, IsOptimized,Flags, RuntimeVersion,SplitDebugFilename, EmissionKind,EnumTypes,RetainedTypes,GlobalVariables,ImportedEntities,Macros, DWOId, SplitDebugInlining, DebugInfoForProfiling,(unsigned) NameTableKind, RangesBaseAddress,SysRoot,SDK) | |||
) |
| static |
Definition at line999 of fileDebugInfoMetadata.cpp.
ReferencesDebugDirectivesOnly,FullDebug,LineTablesOnly, andNoDebug.
| staticdelete |
| inline |
Definition at line1601 of fileDebugInfoMetadata.h.
Referenced byllvm::DwarfUnit::applySubprogramAttributes(), andllvm::DwarfDebug::endFunctionImpl().
| inline |
Definition at line1624 of fileDebugInfoMetadata.h.
| inline |
Definition at line1595 of fileDebugInfoMetadata.h.
Referenced byllvm::LLParser::parseMDField().
| static |
Definition at line980 of fileDebugInfoMetadata.cpp.
Referencesllvm::StringSwitch< T, R >::Case(),DebugDirectivesOnly,llvm::StringSwitch< T, R >::Default(),FullDebug,LineTablesOnly, andNoDebug.
Referenced byllvm::DwarfDebug::endFunctionImpl(), andllvm::DwarfCompileUnit::includeMinimalInlineScopes().
| inline |
Definition at line1609 of fileDebugInfoMetadata.h.
ReferencesgetRawEnumTypes().
Referenced byllvm::DIBuilder::DIBuilder().
| inline |
Definition at line1607 of fileDebugInfoMetadata.h.
Referencesllvm::DINode::getStringOperand().
| inline |
Definition at line1615 of fileDebugInfoMetadata.h.
ReferencesgetRawGlobalVariables().
Referenced byllvm::DIBuilder::DIBuilder().
| staticdelete |
| inline |
Definition at line1618 of fileDebugInfoMetadata.h.
ReferencesgetRawImportedEntities().
Referenced byllvm::DIBuilder::DIBuilder().
| inline |
Definition at line1621 of fileDebugInfoMetadata.h.
ReferencesgetRawMacros().
Referenced byllvm::DIBuilder::DIBuilder().
| inline |
Definition at line1602 of fileDebugInfoMetadata.h.
Referenced byllvm::LLParser::parseMDField().
| static |
Definition at line990 of fileDebugInfoMetadata.cpp.
ReferencesApple,llvm::StringSwitch< T, R >::Case(),llvm::StringSwitch< T, R >::Default(),Default,GNU, andNone.
Referenced byllvm::DwarfCompileUnit::addLocationAttribute(),llvm::DwarfCompileUnit::constructImportedEntityDIE(),llvm::DwarfCompileUnit::constructInlinedScopeDIE(),llvm::DwarfCompileUnit::finishEntityDefinition(),llvm::DwarfUnit::getOrCreateNameSpace(),llvm::DwarfCompileUnit::hasDwarfPubSections(),llvm::DwarfUnit::updateAcceleratorTables(), andllvm::DwarfCompileUnit::updateSubprogramScopeDIE().
| inline |
Definition at line1606 of fileDebugInfoMetadata.h.
Referencesllvm::DINode::getStringOperand().
| inline |
Definition at line1605 of fileDebugInfoMetadata.h.
| inline |
Definition at line1638 of fileDebugInfoMetadata.h.
Referencesllvm::MDNode::getOperand().
Referenced bygetEnumTypes().
| inline |
Definition at line1634 of fileDebugInfoMetadata.h.
| inline |
Definition at line1640 of fileDebugInfoMetadata.h.
Referencesllvm::MDNode::getOperand().
Referenced bygetGlobalVariables().
| inline |
Definition at line1641 of fileDebugInfoMetadata.h.
Referencesllvm::MDNode::getOperand().
Referenced bygetImportedEntities().
| inline |
Definition at line1642 of fileDebugInfoMetadata.h.
Referencesllvm::MDNode::getOperand().
Referenced bygetMacros().
| inline |
Definition at line1633 of fileDebugInfoMetadata.h.
| inline |
Definition at line1639 of fileDebugInfoMetadata.h.
Referencesllvm::MDNode::getOperand().
Referenced bygetRetainedTypes().
| inline |
Definition at line1644 of fileDebugInfoMetadata.h.
| inline |
Definition at line1635 of fileDebugInfoMetadata.h.
| inline |
Definition at line1643 of fileDebugInfoMetadata.h.
| inline |
Definition at line1612 of fileDebugInfoMetadata.h.
ReferencesgetRawRetainedTypes().
Referenced byllvm::DIBuilder::DIBuilder().
| inline |
Definition at line1594 of fileDebugInfoMetadata.h.
| inline |
Definition at line1631 of fileDebugInfoMetadata.h.
Referencesllvm::DINode::getStringOperand().
| inline |
Definition at line1592 of fileDebugInfoMetadata.h.
Referenced byllvm::DwarfUnit::getLanguage().
| inline |
Definition at line1608 of fileDebugInfoMetadata.h.
Referencesllvm::DINode::getStringOperand().
| inline |
Definition at line1626 of fileDebugInfoMetadata.h.
Referenced byllvm::DwarfDebug::endFunctionImpl().
| inline |
Definition at line1630 of fileDebugInfoMetadata.h.
Referencesllvm::DINode::getStringOperand().
| inline |
Definition at line1598 of fileDebugInfoMetadata.h.
ReferencesDebugDirectivesOnly.
Referenced byllvm::DwarfUnit::addString(),llvm::DwarfFile::emitUnit(),llvm::DwarfDebug::endFunctionImpl(),llvm::DwarfCompileUnit::hasDwarfPubSections(), andllvm::DwarfCompileUnit::initStmtList().
| inline |
Definition at line1593 of fileDebugInfoMetadata.h.
| static |
| inline |
Replace arrays.
If thisisUniqued() and notisResolved(), it will be RAUW'ed and deleted on a uniquing collision. In practice, uniquing collisions onDICompileUnit should be fairly rare.
Definition at line1652 of fileDebugInfoMetadata.h.
ReferencesN, andllvm::MDNode::replaceOperandWith().
Referenced byllvm::DIBuilder::finalize().
| inline |
Definition at line1656 of fileDebugInfoMetadata.h.
ReferencesN, andllvm::MDNode::replaceOperandWith().
Referenced byllvm::DIBuilder::finalize().
| inline |
Definition at line1659 of fileDebugInfoMetadata.h.
ReferencesN, andllvm::MDNode::replaceOperandWith().
Referenced byllvm::DIBuilder::finalize().
| inline |
Definition at line1662 of fileDebugInfoMetadata.h.
ReferencesN, andllvm::MDNode::replaceOperandWith().
Referenced byllvm::DIBuilder::finalize().
| inline |
Definition at line1655 of fileDebugInfoMetadata.h.
ReferencesN, andllvm::MDNode::replaceOperandWith().
Referenced byllvm::DIBuilder::finalize().
| inline |
Definition at line1625 of fileDebugInfoMetadata.h.
| inline |
Definition at line1627 of fileDebugInfoMetadata.h.
| friend |
Definition at line1470 of fileDebugInfoMetadata.h.
| friend |
Definition at line1471 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolbool llvm::DICompileUnit::DebugInfoForProfiling |
Definition at line1582 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::DebugInfoForProfiling |
Definition at line1588 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_t llvm::DICompileUnit::DWOId |
Definition at line1581 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::DWOId |
Definition at line1587 of fileDebugInfoMetadata.h.
Definition at line1579 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::EmissionKind |
Definition at line1586 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadata* llvm::DICompileUnit::EnumTypes |
Definition at line1579 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::EnumTypes |
Definition at line1586 of fileDebugInfoMetadata.h.
Definition at line1577 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::File |
Definition at line1585 of fileDebugInfoMetadata.h.
Definition at line1578 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::Flags |
Definition at line1585 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadata* llvm::DICompileUnit::GlobalVariables |
Definition at line1580 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::GlobalVariables |
Definition at line1587 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadata* llvm::DICompileUnit::ImportedEntities |
Definition at line1581 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::ImportedEntities |
Definition at line1587 of fileDebugInfoMetadata.h.
Definition at line1578 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::IsOptimized |
Definition at line1585 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadata* llvm::DICompileUnit::Macros |
Definition at line1581 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::Macros |
Definition at line1587 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsigned llvm::DICompileUnit::NameTableKind |
Definition at line1583 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::NameTableKind |
Definition at line1588 of fileDebugInfoMetadata.h.
Definition at line1577 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::Producer |
Definition at line1585 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedbool llvm::DICompileUnit::RangesBaseAddress |
Definition at line1583 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::RangesBaseAddress |
Definition at line1588 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadata* llvm::DICompileUnit::RetainedTypes |
Definition at line1580 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::RetainedTypes |
Definition at line1586 of fileDebugInfoMetadata.h.
Definition at line1578 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::RuntimeVersion |
Definition at line1585 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString* llvm::DICompileUnit::SDK |
Definition at line1584 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::SourceLanguage |
Definition at line1585 of fileDebugInfoMetadata.h.
Definition at line1579 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::SplitDebugFilename |
Definition at line1586 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tbool llvm::DICompileUnit::SplitDebugInlining |
Definition at line1582 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::SplitDebugInlining |
Definition at line1587 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDString* llvm::DICompileUnit::SysRoot |
Definition at line1583 of fileDebugInfoMetadata.h.
unsignedMetadataMDStringboolMDStringunsignedMDStringunsignedMetadataMetadataMetadataMetadataMetadatauint64_tboolboolunsignedboolMDStringMDString llvm::DICompileUnit::SysRoot |
Definition at line1588 of fileDebugInfoMetadata.h.