LLVM: llvm::DIE Class Reference (original) (raw)
A structured debug information entry. More...
#include "[llvm/CodeGen/DIE.h](DIE%5F8h%5Fsource.html)"
| Public Types | |
|---|---|
| using | child_iterator = IntrusiveBackList<DIE>::iterator |
| using | const_child_iterator = IntrusiveBackList<DIE>::const_iterator |
| using | child_range = iterator_range<child_iterator> |
| using | const_child_range = iterator_range<const_child_iterator> |
| Public Types inherited from llvm::DIEValueList | |
| using | value_range = iterator_range<value_iterator> |
| using | const_value_range = iterator_range<const_value_iterator> |
| Friends | |
|---|---|
| class | IntrusiveBackList< DIE > |
| class | DIEUnit |
A structured debug information entry.
Has an abbreviation which describes its organization.
Definition at line 828 of file DIE.h.
◆ child_iterator
◆ child_range
◆ const_child_iterator
◆ const_child_range
◆ DIE() [1/3]
| llvm::DIE::DIE ( ) | delete |
|---|
◆ DIE() [2/3]
| llvm::DIE::DIE ( const DIE & RHS) | delete |
|---|
References RHS.
◆ DIE() [3/3]
| llvm::DIE::DIE ( DIE && RHS) | delete |
|---|
References RHS.
◆ addChild()
| DIE & llvm::DIE::addChild ( DIE * Child) | inline |
|---|
◆ addChildFront()
| DIE & llvm::DIE::addChildFront ( DIE * Child) | inline |
|---|
◆ children() [1/2]
| child_range llvm::DIE::children ( ) | inline |
|---|
◆ children() [2/2]
| const_child_range llvm::DIE::children ( ) const | inline |
|---|
◆ computeOffsetsAndAbbrevs()
Compute the offset of this DIE and all its children.
This function gets called just before we are going to generate the debug information and gives each DIE a chance to figure out its CU relative DIE offset, unique its abbreviation and fill in the abbreviation code, and return the unit offset that points to where the next DIE will be emitted within the debug unit section. After this function has been called for all DIE objects, the DWARF can be generated since all DIEs will be able to properly refer to other DIE objects since all DIEs have calculated their offsets.
Parameters
| FormParams | Used when calculating sizes. |
|---|---|
| AbbrevSet | the abbreviation used to unique DIE abbreviations. |
| CUOffset | the compile/type unit relative offset in bytes. |
Returns
the offset for the DIE that follows this DIE within the current compile/type unit.
Definition at line 266 of file DIE.cpp.
References assert(), children(), getAbbrevNumber(), getOffset(), llvm::getULEB128Size(), hasChildren(), llvm::DIEAbbrev::hasChildren(), setOffset(), setSize(), llvm::DIEAbbrevSet::uniqueAbbreviation(), and llvm::DIEValueList::values().
Referenced by llvm::DwarfFile::computeSizeAndOffset().
◆ dump()
◆ findAttribute()
◆ generateAbbrev()
◆ get()
Definition at line 858 of file DIE.h.
References llvm::Alloc, and DIE().
Referenced by llvm::DwarfCompileUnit::constructCallSiteParmEntryDIEs(), llvm::DwarfCompileUnit::constructImportedEntityDIE(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), llvm::DwarfCompileUnit::constructLabelDIE(), llvm::DwarfCompileUnit::constructLexicalScopeDIE(), llvm::DwarfCompileUnit::constructSubprogramScopeDIE(), llvm::DwarfCompileUnit::constructVariableDIE(), llvm::DwarfUnit::createAndAddDIE(), llvm::DwarfCompileUnit::createBaseTypeDIEs(), and llvm::dwarf_linker::parallel::DIEGenerator::createDIE().
◆ getAbbrevNumber()
| unsigned llvm::DIE::getAbbrevNumber ( ) const | inline |
|---|
◆ getDebugSectionOffset()
| uint64_t DIE::getDebugSectionOffset | ( | ) | const |
|---|
◆ getOffset()
| unsigned llvm::DIE::getOffset ( ) const | inline |
|---|
Get the compile/type unit relative offset of this DIE.
Definition at line 866 of file DIE.h.
References assert().
Referenced by llvm::dwarf_linker::parallel::OutputSections::applyPatches(), computeOffsetsAndAbbrevs(), llvm::dwarf_linker::parallel::TypeUnit::createDIETree(), llvm::AsmPrinter::emitDwarfDIE(), llvm::dwarf_linker::classic::CompileUnit::fixupForwardReferences(), getDebugSectionOffset(), llvm::DWARFUnit::getDIEIndexForOffset(), llvm::dwarf_linker::AddressesMap::getVariableRelocAdjustment(), llvm::dwarf_linker::parallel::AcceleratorRecordsSaver::saveNameRecord(), llvm::dwarf_linker::parallel::AcceleratorRecordsSaver::saveNamespaceRecord(), llvm::dwarf_linker::parallel::AcceleratorRecordsSaver::saveObjCNameRecord(), and llvm::dwarf_linker::parallel::AcceleratorRecordsSaver::saveTypeRecord().
◆ getParent()
| DIE * DIE::getParent | ( | ) | const |
|---|
◆ getSize()
| unsigned llvm::DIE::getSize ( ) const | inline |
|---|
◆ getTag()
Definition at line 864 of file DIE.h.
Referenced by computeIndexValue(), llvm::DwarfUnit::constructTypeDIE(), llvm::AsmPrinter::emitDwarfDIE(), llvm::dwarf_linker::classic::DeclContextTree::getChildDeclContext(), llvm::DWARFContext::getDIEsForAddress(), getNames(), llvm::DwarfUnit::getOrCreateStaticMemberDIE(), llvm::dwarf_linker::AddressesMap::getVariableRelocAdjustment(), llvm::dwarf_linker::parallel::DependencyTracker::isLiveSubprogramEntry(), llvm::dwarf_linker::classic::CompileUnit::markEverythingAsKept(), llvm::dwarf_linker::classic::CompileUnit::noteRangeAttribute(), and print().
◆ getUnit()
◆ getUnitDie()
Climb up the parent chain to get the compile unit or type unit DIE that this DIE belongs to.
Returns
the compile or type unit DIE that owns this DIE, or NULL if this DIE hasn't been added to a unit DIE.
Definition at line 191 of file DIE.cpp.
Referenced by getUnit().
◆ hasChildren()
| bool llvm::DIE::hasChildren ( ) const | inline |
|---|
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ print()
◆ setAbbrevNumber()
| void llvm::DIE::setAbbrevNumber ( unsigned I) | inline |
|---|
◆ setForceChildren()
| void llvm::DIE::setForceChildren ( bool B) | inline |
|---|
◆ setOffset()
| void llvm::DIE::setOffset ( unsigned O) | inline |
|---|
◆ setSize()
| void llvm::DIE::setSize ( unsigned S) | inline |
|---|
◆ DIEUnit
◆ IntrusiveBackList< DIE >
The documentation for this class was generated from the following files: