LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::DwarfFile Class Reference

#include "CodeGen/AsmPrinter/DwarfFile.h"

Public Member Functions

 DwarfFile (AsmPrinter *AP, StringRef Pref, BumpPtrAllocator &DA)
 
const SmallVectorImpl< std::unique_ptr< DwarfCompileUnit > > & getUnits ()
 
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)
 Emit all of the strings to the section given. More...
 
DwarfStringPoolgetStringPool ()
 Returns the string pool. More...
 
bool addScopeVariable (LexicalScope *LS, DbgVariable *Var)
 
DenseMap< LexicalScope *, SmallVector< DbgVariable *, 8 > > & getScopeVariables ()
 
DenseMap< const MDNode *, DIE * > & getAbstractSPDies ()
 
DenseMap< const MDNode *, std::unique_ptr< DbgVariable > > & getAbstractVariables ()
 
void insertDIE (const MDNode *TypeMD, DIE *Die)
 
DIEgetDIE (const MDNode *TypeMD)
 

Detailed Description

Definition at line 32 of file DwarfFile.h.

Constructor & Destructor Documentation

◆ DwarfFile()

DwarfFile::DwarfFile ( AsmPrinter AP,
StringRef  Pref,
BumpPtrAllocator DA 
)

Definition at line 24 of file DwarfFile.cpp.

Member Function Documentation

◆ addScopeVariable()

bool DwarfFile::addScopeVariable ( LexicalScope LS,
DbgVariable Var 
)

◆ addUnit()

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 getUnits(), and llvm::DwarfDebug::shareAcrossDWOCUs().

◆ computeSizeAndOffset()

unsigned DwarfFile::computeSizeAndOffset ( DIE Die,
unsigned  Offset 
)

Compute the size and offset of a DIE given an incoming Offset.

Definition at line 73 of file DwarfFile.cpp.

References llvm::DIE::computeOffsetsAndAbbrevs().

Referenced by computeSizeAndOffsetsForUnit(), and getUnits().

◆ computeSizeAndOffsets()

void DwarfFile::computeSizeAndOffsets ( )

Compute the size and offset of all the DIEs.

Definition at line 49 of file DwarfFile.cpp.

References computeSizeAndOffsetsForUnit().

Referenced by llvm::DwarfDebug::beginModule(), and getUnits().

◆ computeSizeAndOffsetsForUnit()

unsigned DwarfFile::computeSizeAndOffsetsForUnit ( DwarfUnit TheU)

Compute the size and offset of all the DIEs in the given unit.

Returns
The size of the root DIE.

Definition at line 61 of file DwarfFile.cpp.

References computeSizeAndOffset(), llvm::DwarfUnit::getHeaderSize(), and llvm::DIEUnit::getUnitDie().

Referenced by computeSizeAndOffsets(), and getUnits().

◆ emitAbbrevs()

void DwarfFile::emitAbbrevs ( MCSection Section)

Emit a set of abbreviations to the specific section.

Definition at line 77 of file DwarfFile.cpp.

References llvm::DIEAbbrevSet::Emit().

Referenced by llvm::DwarfDebug::endFunctionImpl(), and getUnits().

◆ emitStrings()

void DwarfFile::emitStrings ( MCSection StrSection,
MCSection OffsetSection = nullptr 
)

Emit all of the strings to the section given.

Definition at line 80 of file DwarfFile.cpp.

References llvm::DwarfStringPool::emit().

Referenced by computeIndexValue(), and getUnits().

◆ emitUnit()

void DwarfFile::emitUnit ( DwarfUnit U,
bool  UseOffsets 
)

◆ 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(), and getUnits().

◆ getAbstractSPDies()

DenseMap<const MDNode *, DIE *>& llvm::DwarfFile::getAbstractSPDies ( )
inline

Definition at line 101 of file DwarfFile.h.

Referenced by llvm::DwarfUnit::applySubprogramDefinitionAttributes().

◆ getAbstractVariables()

DenseMap<const MDNode *, std::unique_ptr<DbgVariable> >& llvm::DwarfFile::getAbstractVariables ( )
inline

Definition at line 105 of file DwarfFile.h.

◆ getDIE()

DIE* llvm::DwarfFile::getDIE ( const MDNode TypeMD)
inline

◆ getScopeVariables()

DenseMap<LexicalScope *, SmallVector<DbgVariable *, 8> >& llvm::DwarfFile::getScopeVariables ( )
inline

◆ getStringPool()

DwarfStringPool& llvm::DwarfFile::getStringPool ( )
inline

Returns the string pool.

Definition at line 92 of file DwarfFile.h.

References addScopeVariable(), and llvm::AArch64CC::LS.

Referenced by llvm::DwarfUnit::addString().

◆ getUnits()

const SmallVectorImpl<std::unique_ptr<DwarfCompileUnit> >& llvm::DwarfFile::getUnits ( )
inline

◆ insertDIE()

void llvm::DwarfFile::insertDIE ( const MDNode TypeMD,
DIE Die 
)
inline

The documentation for this class was generated from the following files: