LLVM  3.7.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)
 
 ~DwarfFile ()
 
const SmallVectorImpl
< std::unique_ptr< DwarfUnit > > & 
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...
 
DIEAbbrevassignAbbrevNumber (DIE &Die)
 Define a unique number for the abbreviation. More...
 
void addUnit (std::unique_ptr< DwarfUnit > 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 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 36 of file DwarfFile.h.

Constructor & Destructor Documentation

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

Definition at line 20 of file DwarfFile.cpp.

llvm::DwarfFile::~DwarfFile ( )

Definition at line 23 of file DwarfFile.cpp.

Member Function Documentation

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

Add a unit to the list of CUs.

Definition at line 53 of file DwarfFile.cpp.

DIEAbbrev & llvm::DwarfFile::assignAbbrevNumber ( DIE Die)

Define a unique number for the abbreviation.

Compute the abbreviation for Die, look up its unique number, and return a reference to it in the uniquing table.

Definition at line 30 of file DwarfFile.cpp.

References llvm::DIE::generateAbbrev(), llvm::DIEAbbrev::Profile(), llvm::DIE::setAbbrevNumber(), and llvm::DIEAbbrev::setNumber().

Referenced by computeSizeAndOffset().

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

Compute the size and offset of all the DIEs.

Definition at line 72 of file DwarfFile.cpp.

References computeSizeAndOffset().

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

Emit a set of abbreviations to the specific section.

Definition at line 124 of file DwarfFile.cpp.

References llvm::AsmPrinter::emitDwarfAbbrevs(), and llvm::AsmPrinter::OutStreamer.

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

Emit all of the strings to the section given.

Definition at line 134 of file DwarfFile.cpp.

References llvm::DwarfStringPool::emit().

void llvm::DwarfFile::emitUnits ( bool  UseOffsets)

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

Definition at line 59 of file DwarfFile.cpp.

References llvm::AsmPrinter::emitDwarfDIE(), and llvm::AsmPrinter::OutStreamer.

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

Definition at line 113 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<DwarfUnit> >& llvm::DwarfFile::getUnits ( )
inline

Definition at line 69 of file DwarfFile.h.

Referenced by llvm::DwarfDebug::addDwarfTypeUnitType().

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

Definition at line 110 of file DwarfFile.h.

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


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