class DwarfFile
Declaration
class DwarfFile { /* full declaration omitted */ };
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:48
Method Overview
- public DwarfFile(llvm::AsmPrinter * AP, llvm::StringRef Pref, llvm::BumpPtrAllocator & DA)
- public std::pair<uint32_t, RangeSpanList *> addRange(const llvm::DwarfCompileUnit & CU, SmallVector<llvm::RangeSpan, 2> R)
- public void addScopeLabel(llvm::LexicalScope * LS, llvm::DbgLabel * Label)
- public bool addScopeVariable(llvm::LexicalScope * LS, llvm::DbgVariable * Var)
- public void addUnit(std::unique_ptr<DwarfCompileUnit> U)
- public unsigned int computeSizeAndOffset(llvm::DIE & Die, unsigned int Offset)
- public void computeSizeAndOffsets()
- public unsigned int computeSizeAndOffsetsForUnit(llvm::DwarfUnit * TheU)
- public void emitAbbrevs(llvm::MCSection *)
- public void emitStrings(llvm::MCSection * StrSection, llvm::MCSection * OffsetSection = nullptr, bool UseRelativeOffsets = false)
- public void emitUnit(llvm::DwarfUnit * TheU, bool UseOffsets)
- public void emitUnits(bool UseOffsets)
- public DenseMap<const llvm::DINode *, std::unique_ptr<DbgEntity>> & getAbstractEntities()
- public DenseMap<const llvm::MDNode *, llvm::DIE *> & getAbstractSPDies()
- public llvm::DIE * getDIE(const llvm::MDNode * TypeMD)
- public const SmallVectorImpl<llvm::RangeSpanList> & getRangeLists() const
- public llvm::MCSymbol * getRnglistsTableBaseSym() const
- public DenseMap<llvm::LexicalScope *, llvm::DwarfFile::LabelList> & getScopeLabels()
- public DenseMap<llvm::LexicalScope *, llvm::DwarfFile::ScopeVars> & getScopeVariables()
- public llvm::MCSymbol * getStringOffsetsStartSym() const
- public llvm::DwarfStringPool & getStringPool()
- public const SmallVectorImpl<std::unique_ptr<DwarfCompileUnit>> & getUnits()
- public void insertDIE(const llvm::MDNode * TypeMD, llvm::DIE * Die)
- public void setRnglistsTableBaseSym(llvm::MCSymbol * Sym)
- public void setStringOffsetsStartSym(llvm::MCSymbol * Sym)
Methods
¶DwarfFile(llvm::AsmPrinter* AP,
llvm::StringRef Pref,
llvm::BumpPtrAllocator& DA)
DwarfFile(llvm::AsmPrinter* AP,
llvm::StringRef Pref,
llvm::BumpPtrAllocator& DA)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:98
Parameters
¶std::pair<uint32_t, RangeSpanList*> addRange(
const llvm::DwarfCompileUnit& CU,
SmallVector<llvm::RangeSpan, 2> R)
std::pair<uint32_t, RangeSpanList*> addRange(
const llvm::DwarfCompileUnit& CU,
SmallVector<llvm::RangeSpan, 2> R)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:104
Parameters
- const llvm::DwarfCompileUnit& CU
- SmallVector<llvm::RangeSpan, 2> R
¶void addScopeLabel(llvm::LexicalScope* LS,
llvm::DbgLabel* Label)
void addScopeLabel(llvm::LexicalScope* LS,
llvm::DbgLabel* Label)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:154
Parameters
- llvm::LexicalScope* LS
- llvm::DbgLabel* Label
¶bool addScopeVariable(llvm::LexicalScope* LS,
llvm::DbgVariable* Var)
bool addScopeVariable(llvm::LexicalScope* LS,
llvm::DbgVariable* Var)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:152
Parameters
- llvm::LexicalScope* LS
- llvm::DbgVariable* Var
Returns
false if the variable was merged with a previous one.
¶void addUnit(std::unique_ptr<DwarfCompileUnit> U)
void addUnit(std::unique_ptr<DwarfCompileUnit> U)
Description
Add a unit to the list of CUs.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:123
Parameters
- std::unique_ptr<DwarfCompileUnit> U
¶unsigned int computeSizeAndOffset(
llvm::DIE& Die,
unsigned int Offset)
unsigned int computeSizeAndOffset(
llvm::DIE& Die,
unsigned int Offset)
Description
Compute the size and offset of a DIE given an incoming Offset.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:113
Parameters
- llvm::DIE& Die
- unsigned int Offset
¶void computeSizeAndOffsets()
void computeSizeAndOffsets()
Description
Compute the size and offset of all the DIEs.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:116
¶unsigned int computeSizeAndOffsetsForUnit(
llvm::DwarfUnit* TheU)
unsigned int computeSizeAndOffsetsForUnit(
llvm::DwarfUnit* TheU)
Description
Compute the size and offset of all the DIEs in the given unit.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:120
Parameters
- llvm::DwarfUnit* TheU
Returns
The size of the root DIE.
¶void emitAbbrevs(llvm::MCSection*)
void emitAbbrevs(llvm::MCSection*)
Description
Emit a set of abbreviations to the specific section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:133
Parameters
¶void emitStrings(
llvm::MCSection* StrSection,
llvm::MCSection* OffsetSection = nullptr,
bool UseRelativeOffsets = false)
void emitStrings(
llvm::MCSection* StrSection,
llvm::MCSection* OffsetSection = nullptr,
bool UseRelativeOffsets = false)
Description
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.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:139
Parameters
- llvm::MCSection* StrSection
- llvm::MCSection* OffsetSection = nullptr
- bool UseRelativeOffsets = false
¶void emitUnit(llvm::DwarfUnit* TheU,
bool UseOffsets)
void emitUnit(llvm::DwarfUnit* TheU,
bool UseOffsets)
Description
Emit the given unit to its section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:130
Parameters
- llvm::DwarfUnit* TheU
- bool UseOffsets
¶void emitUnits(bool UseOffsets)
void emitUnits(bool UseOffsets)
Description
Emit all of the units to the section listed with the given abbreviation section.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:127
Parameters
- bool UseOffsets
¶DenseMap<const llvm::DINode*,
std::unique_ptr<DbgEntity>>&
getAbstractEntities()
DenseMap<const llvm::DINode*,
std::unique_ptr<DbgEntity>>&
getAbstractEntities()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:168
¶DenseMap<const llvm::MDNode*, llvm::DIE*>&
getAbstractSPDies()
DenseMap<const llvm::MDNode*, llvm::DIE*>&
getAbstractSPDies()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:164
¶llvm::DIE* getDIE(const llvm::MDNode* TypeMD)
llvm::DIE* getDIE(const llvm::MDNode* TypeMD)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:176
Parameters
- const llvm::MDNode* TypeMD
¶const SmallVectorImpl<llvm::RangeSpanList>&
getRangeLists() const
const SmallVectorImpl<llvm::RangeSpanList>&
getRangeLists() const
Description
getRangeLists - Get the vector of range lists.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:108
¶llvm::MCSymbol* getRnglistsTableBaseSym() const
llvm::MCSymbol* getRnglistsTableBaseSym() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:148
¶DenseMap<llvm::LexicalScope*,
llvm::DwarfFile::LabelList>&
getScopeLabels()
DenseMap<llvm::LexicalScope*,
llvm::DwarfFile::LabelList>&
getScopeLabels()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:160
¶DenseMap<llvm::LexicalScope*,
llvm::DwarfFile::ScopeVars>&
getScopeVariables()
DenseMap<llvm::LexicalScope*,
llvm::DwarfFile::ScopeVars>&
getScopeVariables()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:156
¶llvm::MCSymbol* getStringOffsetsStartSym() const
llvm::MCSymbol* getStringOffsetsStartSym() const
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:145
¶llvm::DwarfStringPool& getStringPool()
llvm::DwarfStringPool& getStringPool()
Description
Returns the string pool.
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:143
¶const SmallVectorImpl<
std::unique_ptr<DwarfCompileUnit>>&
getUnits()
const SmallVectorImpl<
std::unique_ptr<DwarfCompileUnit>>&
getUnits()
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:100
¶void insertDIE(const llvm::MDNode* TypeMD,
llvm::DIE* Die)
void insertDIE(const llvm::MDNode* TypeMD,
llvm::DIE* Die)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:172
Parameters
- const llvm::MDNode* TypeMD
- llvm::DIE* Die
¶void setRnglistsTableBaseSym(llvm::MCSymbol* Sym)
void setRnglistsTableBaseSym(llvm::MCSymbol* Sym)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:149
Parameters
- llvm::MCSymbol* Sym
¶void setStringOffsetsStartSym(llvm::MCSymbol* Sym)
void setStringOffsetsStartSym(llvm::MCSymbol* Sym)
Declared at: llvm/lib/CodeGen/AsmPrinter/DwarfFile.h:146
Parameters
- llvm::MCSymbol* Sym