LLVM
8.0.1
|
#include "CodeGen/AsmPrinter/DwarfFile.h"
Public Member Functions | |
DwarfFile (AsmPrinter *AP, StringRef Pref, BumpPtrAllocator &DA) | |
const SmallVectorImpl< std::unique_ptr< DwarfCompileUnit > > & | getUnits () |
std::pair< uint32_t, RangeSpanList * > | addRange (const DwarfCompileUnit &CU, SmallVector< RangeSpan, 2 > R) |
const SmallVectorImpl< RangeSpanList > & | getRangeLists () const |
getRangeLists - Get the vector of range lists. More... | |
unsigned | computeSizeAndOffset (DIE &Die, unsigned Offset) |
Compute the size and offset of a DIE given an incoming Offset. More... | |
void | computeSizeAndOffsets () |
Compute the size and offset of all the DIEs. More... | |
unsigned | computeSizeAndOffsetsForUnit (DwarfUnit *TheU) |
Compute the size and offset of all the DIEs in the given unit. More... | |
void | addUnit (std::unique_ptr< DwarfCompileUnit > U) |
Add a unit to the list of CUs. More... | |
void | emitUnits (bool UseOffsets) |
Emit all of the units to the section listed with the given abbreviation section. More... | |
void | emitUnit (DwarfUnit *U, bool UseOffsets) |
Emit the given unit to its section. More... | |
void | emitAbbrevs (MCSection *) |
Emit a set of abbreviations to the specific section. More... | |
void | emitStrings (MCSection *StrSection, MCSection *OffsetSection=nullptr, bool UseRelativeOffsets=false) |
Emit all of the strings to the section given. More... | |
DwarfStringPool & | getStringPool () |
Returns the string pool. More... | |
MCSymbol * | getStringOffsetsStartSym () const |
void | setStringOffsetsStartSym (MCSymbol *Sym) |
MCSymbol * | getRnglistsTableBaseSym () const |
void | setRnglistsTableBaseSym (MCSymbol *Sym) |
MCSymbol * | getLoclistsTableBaseSym () const |
void | setLoclistsTableBaseSym (MCSymbol *Sym) |
bool | addScopeVariable (LexicalScope *LS, DbgVariable *Var) |
void | addScopeLabel (LexicalScope *LS, DbgLabel *Label) |
DenseMap< LexicalScope *, ScopeVars > & | getScopeVariables () |
DenseMap< LexicalScope *, LabelList > & | getScopeLabels () |
DenseMap< const MDNode *, DIE * > & | getAbstractSPDies () |
DenseMap< const DINode *, std::unique_ptr< DbgEntity > > & | getAbstractEntities () |
void | insertDIE (const MDNode *TypeMD, DIE *Die) |
DIE * | getDIE (const MDNode *TypeMD) |
Definition at line 65 of file DwarfFile.h.
DwarfFile::DwarfFile | ( | AsmPrinter * | AP, |
StringRef | Pref, | ||
BumpPtrAllocator & | DA | ||
) |
Definition at line 24 of file DwarfFile.cpp.
std::pair< uint32_t, RangeSpanList * > DwarfFile::addRange | ( | const DwarfCompileUnit & | CU, |
SmallVector< RangeSpan, 2 > | R | ||
) |
Definition at line 118 of file DwarfFile.cpp.
References llvm::AsmPrinter::createTempSymbol().
void DwarfFile::addScopeLabel | ( | LexicalScope * | LS, |
DbgLabel * | Label | ||
) |
Definition at line 112 of file DwarfFile.cpp.
References llvm::AArch64CC::LS, and llvm::SmallVectorTemplateBase< T >::push_back().
bool DwarfFile::addScopeVariable | ( | LexicalScope * | LS, |
DbgVariable * | Var | ||
) |
Definition at line 95 of file DwarfFile.cpp.
References llvm::DbgVariable::addMMIEntry(), llvm::DILocalVariable::getArg(), llvm::DbgVariable::getVariable(), and llvm::AArch64CC::LS.
void DwarfFile::addUnit | ( | std::unique_ptr< DwarfCompileUnit > | U | ) |
Add a unit to the list of CUs.
Definition at line 27 of file DwarfFile.cpp.
Referenced by llvm::DwarfDebug::shareAcrossDWOCUs().
Compute the size and offset of a DIE given an incoming Offset.
Definition at line 83 of file DwarfFile.cpp.
References llvm::DIE::computeOffsetsAndAbbrevs().
Referenced by computeSizeAndOffsetsForUnit().
void DwarfFile::computeSizeAndOffsets | ( | ) |
Compute the size and offset of all the DIEs.
Definition at line 56 of file DwarfFile.cpp.
References computeSizeAndOffsetsForUnit().
Referenced by llvm::DwarfDebug::beginModule().
Compute the size and offset of all the DIEs in the given unit.
Definition at line 71 of file DwarfFile.cpp.
References computeSizeAndOffset(), llvm::DwarfUnit::getHeaderSize(), and llvm::DIEUnit::getUnitDie().
Referenced by computeSizeAndOffsets().
void DwarfFile::emitAbbrevs | ( | MCSection * | Section | ) |
Emit a set of abbreviations to the specific section.
Definition at line 87 of file DwarfFile.cpp.
References llvm::DIEAbbrevSet::Emit().
Referenced by llvm::DwarfDebug::endFunctionImpl().
void DwarfFile::emitStrings | ( | MCSection * | StrSection, |
MCSection * | OffsetSection = nullptr , |
||
bool | UseRelativeOffsets = false |
||
) |
Emit all of the strings to the section given.
If OffsetSection is non-null, emit a table of string offsets to it. If UseRelativeOffsets is false, emit absolute offsets to the strings. Otherwise, emit relocatable references to the strings if they are supported by the target.
Definition at line 90 of file DwarfFile.cpp.
References llvm::DwarfStringPool::emit().
Referenced by computeIndexValue().
Emit the given unit to its section.
Definition at line 38 of file DwarfFile.cpp.
References llvm::AsmPrinter::emitDwarfDIE(), llvm::DwarfUnit::emitHeader(), llvm::DwarfUnit::getCUNode(), llvm::DwarfUnit::getEndLabel(), llvm::DIEUnit::getSection(), llvm::DIEUnit::getUnitDie(), llvm::DICompileUnit::isDebugDirectivesOnly(), and llvm::AsmPrinter::OutStreamer.
Referenced by emitUnits().
void DwarfFile::emitUnits | ( | bool | UseOffsets | ) |
Emit all of the units to the section listed with the given abbreviation section.
Definition at line 33 of file DwarfFile.cpp.
References emitUnit().
Referenced by llvm::DwarfDebug::endFunctionImpl().
|
inline |
Definition at line 192 of file DwarfFile.h.
Definition at line 188 of file DwarfFile.h.
Referenced by llvm::DwarfDebug::addSubprogramNames(), and llvm::DwarfUnit::applySubprogramDefinitionAttributes().
Definition at line 200 of file DwarfFile.h.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::lookup().
Referenced by llvm::DwarfUnit::getDIE().
|
inline |
Definition at line 172 of file DwarfFile.h.
Referenced by llvm::DwarfUnit::addLoclistsBase(), and emitLoclistsTableHeader().
|
inline |
getRangeLists - Get the vector of range lists.
Definition at line 129 of file DwarfFile.h.
Referenced by llvm::DwarfDebug::beginModule(), emitDebugRangesImpl(), and emitRnglistsTableHeader().
|
inline |
Definition at line 169 of file DwarfFile.h.
Referenced by llvm::DwarfUnit::addRnglistsBase(), and emitRnglistsTableHeader().
|
inline |
Definition at line 184 of file DwarfFile.h.
Referenced by llvm::DwarfCompileUnit::createScopeChildrenDIE(), and llvm::DwarfDebug::endFunctionImpl().
|
inline |
Definition at line 180 of file DwarfFile.h.
Referenced by llvm::DwarfCompileUnit::createScopeChildrenDIE(), and llvm::DwarfDebug::endFunctionImpl().
|
inline |
Definition at line 166 of file DwarfFile.h.
Referenced by llvm::DwarfUnit::addStringOffsetsStart(), and llvm::DwarfDebug::endFunctionImpl().
|
inline |
Returns the string pool.
Definition at line 164 of file DwarfFile.h.
Referenced by llvm::DwarfDebug::addDwarfTypeUnitType(), llvm::DwarfUnit::addString(), and llvm::DwarfDebug::endFunctionImpl().
|
inline |
Definition at line 121 of file DwarfFile.h.
References addRange().
Referenced by llvm::DwarfDebug::endFunctionImpl(), and llvm::DwarfDebug::shareAcrossDWOCUs().
Definition at line 196 of file DwarfFile.h.
References llvm::DenseMapBase< DenseMap< KeyT, ValueT, KeyInfoT, BucketT >, KeyT, ValueT, KeyInfoT, BucketT >::insert().
Referenced by llvm::DwarfUnit::insertDIE().
|
inline |
Definition at line 173 of file DwarfFile.h.
References llvm::AArch64CC::LS.
Referenced by llvm::DwarfDebug::beginModule().
|
inline |
Definition at line 170 of file DwarfFile.h.
Referenced by llvm::DwarfDebug::beginModule().
|
inline |
Definition at line 167 of file DwarfFile.h.