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

#include <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 ()
 
void insertDIE (const MDNode *TypeMD, DIE *Die)
 
DIEgetDIE (const MDNode *TypeMD)
 

Detailed Description

Definition at line 37 of file DwarfFile.h.

Constructor & Destructor Documentation

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

Definition at line 21 of file DwarfFile.cpp.

Member Function Documentation

bool llvm::DwarfFile::addScopeVariable ( LexicalScope LS,
DbgVariable Var 
)
void llvm::DwarfFile::addUnit ( std::unique_ptr< DwarfCompileUnit U)

Add a unit to the list of CUs.

Definition at line 24 of file DwarfFile.cpp.

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

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

Definition at line 70 of file DwarfFile.cpp.

References llvm::DIE::computeOffsetsAndAbbrevs().

Referenced by computeSizeAndOffsetsForUnit().

void llvm::DwarfFile::computeSizeAndOffsets ( )

Compute the size and offset of all the DIEs.

Definition at line 46 of file DwarfFile.cpp.

References computeSizeAndOffsetsForUnit().

unsigned llvm::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 58 of file DwarfFile.cpp.

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

Referenced by computeSizeAndOffsets().

void llvm::DwarfFile::emitAbbrevs ( MCSection Section)

Emit a set of abbreviations to the specific section.

Definition at line 74 of file DwarfFile.cpp.

References llvm::DIEAbbrevSet::Emit().

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

Emit all of the strings to the section given.

Definition at line 77 of file DwarfFile.cpp.

References llvm::DwarfStringPool::emit().

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

Emit all of the units to the section listed with the given abbreviation section.

Definition at line 30 of file DwarfFile.cpp.

References emitUnit().

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

Definition at line 112 of file DwarfFile.h.

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

DenseMap<LexicalScope *, SmallVector<DbgVariable *, 8> >& llvm::DwarfFile::getScopeVariables ( )
inline
DwarfStringPool& llvm::DwarfFile::getStringPool ( )
inline
const SmallVectorImpl<std::unique_ptr<DwarfCompileUnit> >& llvm::DwarfFile::getUnits ( )
inline

Definition at line 65 of file DwarfFile.h.

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

Definition at line 109 of file DwarfFile.h.

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


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