10 #ifndef LLVM_LIB_CODEGEN_ASMPRINTER_DWARFFILE_H
11 #define LLVM_LIB_CODEGEN_ASMPRINTER_DWARFFILE_H
27 class DwarfCompileUnit;
80 void addUnit(std::unique_ptr<DwarfCompileUnit> U);
102 return ScopeVariables;
106 return AbstractSPDies;
110 DITypeNodeToDieMap.insert(std::make_pair(TypeMD, Die));
113 return DITypeNodeToDieMap.lookup(TypeMD);
Instances of this class represent a uniqued identifier for a section in the current translation unit...
DwarfFile(AsmPrinter *AP, StringRef Pref, BumpPtrAllocator &DA)
DenseMap< LexicalScope *, SmallVector< DbgVariable *, 8 > > & getScopeVariables()
LexicalScope - This class is used to track scope information.
This file defines the MallocAllocator and BumpPtrAllocator interfaces.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
DenseMap< const MDNode *, DIE * > & getAbstractSPDies()
This class is used to track local variable information.
const SmallVectorImpl< std::unique_ptr< DwarfCompileUnit > > & getUnits()
Helps unique DIEAbbrev objects and assigns abbreviation numbers.
void addUnit(std::unique_ptr< DwarfCompileUnit > U)
Add a unit to the list of CUs.
This dwarf writer support class manages information associated with a source file.
DwarfStringPool & getStringPool()
Returns the string pool.
Allocate memory in an ever growing pool, as if by bump-pointer.
A structured debug information entry.
This class is intended to be used as a driving class for all asm writers.
void emitUnits(bool UseOffsets)
Emit all of the units to the section listed with the given abbreviation section.
void insertDIE(const MDNode *TypeMD, DIE *Die)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small...
void computeSizeAndOffsets()
Compute the size and offset of all the DIEs.
unsigned computeSizeAndOffsetsForUnit(DwarfUnit *TheU)
Compute the size and offset of all the DIEs in the given unit.
void emitUnit(DwarfUnit *U, bool UseOffsets)
Emit the given unit to its section.
void emitAbbrevs(MCSection *)
Emit a set of abbreviations to the specific section.
bool addScopeVariable(LexicalScope *LS, DbgVariable *Var)
DIE * getDIE(const MDNode *TypeMD)
unsigned computeSizeAndOffset(DIE &Die, unsigned Offset)
Compute the size and offset of a DIE given an incoming Offset.
void emitStrings(MCSection *StrSection, MCSection *OffsetSection=nullptr)
Emit all of the strings to the section given.
StringRef - Represent a constant reference to a string, i.e.