|
LLVM
3.7.0
|
DIE - A structured debug information entry. More...
#include <DIE.h>
Public Types | |
| typedef IntrusiveBackList< DIE > ::iterator | child_iterator |
| typedef IntrusiveBackList< DIE > ::const_iterator | const_child_iterator |
| typedef iterator_range < child_iterator > | child_range |
| typedef iterator_range < const_child_iterator > | const_child_range |
| typedef DIEValueList::iterator | value_iterator |
| typedef iterator_range < value_iterator > | value_range |
| typedef DIEValueList::const_iterator | const_value_iterator |
| typedef iterator_range < const_value_iterator > | const_value_range |
Static Public Member Functions | |
| static DIE * | get (BumpPtrAllocator &Alloc, dwarf::Tag Tag) |
Protected Member Functions | |
| DIE () | |
Protected Attributes | |
| unsigned | Offset |
| Offset - Offset in debug info section. More... | |
| unsigned | Size |
| Size - Size of instance + children. More... | |
| unsigned | AbbrevNumber = ~0u |
| dwarf::Tag | Tag = (dwarf::Tag)0 |
| Tag - Dwarf tag code. More... | |
| IntrusiveBackList< DIE > | Children |
| Children DIEs. More... | |
| DIE * | Parent = nullptr |
| DIEValueList | Values |
| Attribute values. More... | |
Friends | |
| class | IntrusiveBackList< DIE > |
DIE - A structured debug information entry.
Has an abbreviation which describes its organization.
| typedef IntrusiveBackList<DIE>::iterator llvm::DIE::child_iterator |
| typedef IntrusiveBackList<DIE>::const_iterator llvm::DIE::const_child_iterator |
Add a child to the DIE.
Definition at line 726 of file DIE.h.
References Children, getParent(), and Parent.
Referenced by llvm::DwarfCompileUnit::collectDeadVariables(), llvm::DwarfCompileUnit::constructScopeDIE(), llvm::DwarfCompileUnit::constructSubprogramScopeDIE(), llvm::DwarfUnit::createAndAddDIE(), and llvm::DwarfCompileUnit::createAndAddScopeChildren().
|
inline |
addValue - Add a value and attributes to a DIE.
Definition at line 716 of file DIE.h.
References llvm::DIEValueList::insert(), and Values.
Referenced by llvm::DwarfUnit::addBlock(), llvm::DwarfUnit::addDIEEntry(), llvm::DwarfUnit::addDIETypeSignature(), llvm::DwarfCompileUnit::addExpr(), llvm::DwarfUnit::addFlag(), llvm::DwarfUnit::addLabel(), llvm::DwarfCompileUnit::addLabelAddress(), llvm::DwarfUnit::addLabelDelta(), llvm::DwarfCompileUnit::addLocalLabelAddress(), llvm::DwarfCompileUnit::addLocationList(), llvm::DwarfCompileUnit::addSectionDelta(), llvm::DwarfUnit::addSInt(), llvm::DwarfUnit::addString(), llvm::DwarfUnit::addUInt(), and llvm::DwarfCompileUnit::applyStmtList().
|
inline |
Definition at line 720 of file DIE.h.
References llvm::DIEValueList::emplace(), and Values.
|
inline |
Definition at line 673 of file DIE.h.
References Children, and llvm::make_range().
Referenced by llvm::DwarfFile::computeSizeAndOffset(), llvm::AsmPrinter::emitDwarfDIE(), and print().
|
inline |
Definition at line 676 of file DIE.h.
References Children, and llvm::make_range().
| void DIE::dump | ( | ) |
Definition at line 189 of file DIE.cpp.
References llvm::dbgs(), and print().
| DIEValue DIE::findAttribute | ( | dwarf::Attribute | Attribute | ) | const |
Find a value in the DIE with the attribute given.
Returns a default-constructed DIEValue (where DIEValue::getType() gives DIEValue::isNone) if no such attribute exists.
Definition at line 138 of file DIE.cpp.
References values().
Referenced by computeIndexValue().
| DIEAbbrev DIE::generateAbbrev | ( | ) | const |
Generate the abbreviation for this DIE.
Calculate the abbreviation for this, which should be uniqued and eventually used to call setAbbrevNumber().
Definition at line 110 of file DIE.cpp.
References llvm::DIEAbbrev::AddAttribute(), hasChildren(), Tag, and Values.
Referenced by llvm::DwarfFile::assignAbbrevNumber().
|
inlinestatic |
Definition at line 657 of file DIE.h.
Referenced by llvm::DwarfCompileUnit::constructImportedEntityDIE(), llvm::DwarfCompileUnit::constructInlinedScopeDIE(), llvm::DwarfCompileUnit::constructLexicalScopeDIE(), llvm::DwarfCompileUnit::constructSubprogramScopeDIE(), and llvm::DwarfUnit::createAndAddDIE().
|
inline |
Definition at line 662 of file DIE.h.
References AbbrevNumber.
Referenced by llvm::DwarfFile::computeSizeAndOffset(), and llvm::AsmPrinter::emitDwarfDIE().
|
inline |
Definition at line 664 of file DIE.h.
References Offset.
Referenced by compareDIEs(), llvm::DwarfFile::computeSizeAndOffset(), llvm::AsmPrinter::emitDwarfDIE(), llvm::DIEEntry::EmitValue(), and llvm::DwarfAccelTable::HashDataContents::print().
|
inline |
Definition at line 694 of file DIE.h.
References Parent.
Referenced by addChild(), llvm::DIEHash::computeDIEODRSignature(), llvm::DIEHash::computeTypeSignature(), and getUnitOrNull().
|
inline |
Definition at line 665 of file DIE.h.
References Size.
Referenced by llvm::AsmPrinter::emitDwarfDIE(), llvm::DwarfUnit::emitHeader(), and llvm::DwarfCompileUnit::getLength().
|
inline |
Definition at line 663 of file DIE.h.
References Tag.
Referenced by llvm::DIEHash::computeDIEODRSignature(), computeIndexValue(), llvm::DwarfUnit::constructTypeDIE(), llvm::AsmPrinter::emitDwarfDIE(), llvm::DwarfUnit::getOrCreateStaticMemberDIE(), getUnitOrNull(), llvm::DwarfAccelTable::HashDataContents::print(), and print().
Climb up the parent chain to get the compile or type unit DIE this DIE belongs to.
Climb up the parent chain to get the unit DIE to which this DIE belongs.
Definition at line 119 of file DIE.cpp.
References getUnitOrNull().
Referenced by llvm::DIEEntry::EmitValue().
Similar to getUnit, returns null when DIE is not added to an owner yet.
Climb up the parent chain to get the unit DIE this DIE belongs to.
Return NULL if DIE is not added to an owner yet.
Definition at line 127 of file DIE.cpp.
References getParent(), and getTag().
Referenced by llvm::DwarfUnit::addDIEEntry(), and getUnit().
|
inline |
Definition at line 666 of file DIE.h.
References Children.
Referenced by llvm::DwarfFile::computeSizeAndOffset(), llvm::AsmPrinter::emitDwarfDIE(), generateAbbrev(), llvm::DwarfUnit::hasContent(), and print().
| void DIE::print | ( | raw_ostream & | O, |
| unsigned | IndentCount = 0 |
||
| ) | const |
Definition at line 148 of file DIE.cpp.
References llvm::dwarf::AttributeString(), children(), llvm::dwarf::ChildrenString(), llvm::format(), llvm::dwarf::FormEncodingString(), getTag(), hasChildren(), I, Offset, Size, llvm::dwarf::TagString(), and Values.
Referenced by dump(), llvm::DIELoc::print(), and llvm::DIEBlock::print().
|
inline |
Set the abbreviation number for this DIE.
Definition at line 703 of file DIE.h.
References AbbrevNumber, and I.
Referenced by llvm::DwarfFile::assignAbbrevNumber().
|
inline |
Definition at line 711 of file DIE.h.
References Offset.
Referenced by llvm::DwarfFile::computeSizeAndOffset().
|
inline |
Definition at line 712 of file DIE.h.
References Size.
Referenced by llvm::DwarfFile::computeSizeAndOffset().
|
inline |
Definition at line 683 of file DIE.h.
References llvm::DIEValueList::begin(), llvm::DIEValueList::end(), llvm::make_range(), and Values.
Referenced by llvm::DwarfFile::computeSizeAndOffset(), llvm::AsmPrinter::emitDwarfDIE(), findAttribute(), and getDIEStringAttr().
|
inline |
Definition at line 690 of file DIE.h.
References llvm::DIEValueList::begin(), llvm::DIEValueList::end(), llvm::make_range(), and Values.
|
friend |
|
protected |
Definition at line 635 of file DIE.h.
Referenced by getAbbrevNumber(), and setAbbrevNumber().
|
protected |
Children DIEs.
Definition at line 642 of file DIE.h.
Referenced by addChild(), children(), and hasChildren().
|
protected |
Offset - Offset in debug info section.
Definition at line 629 of file DIE.h.
Referenced by getOffset(), print(), and setOffset().
|
protected |
Definition at line 644 of file DIE.h.
Referenced by addChild(), and getParent().
|
protected |
|
protected |
Tag - Dwarf tag code.
Definition at line 639 of file DIE.h.
Referenced by generateAbbrev(), get(), and getTag().
|
protected |
Attribute values.
Definition at line 648 of file DIE.h.
Referenced by addValue(), llvm::DIELoc::ComputeSize(), llvm::DIEBlock::ComputeSize(), llvm::DIELoc::EmitValue(), llvm::DIEBlock::EmitValue(), generateAbbrev(), print(), and values().
1.8.6