1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

Set up DwarfDebug using DebugInfo API.

llvm-svn: 61822
This commit is contained in:
Devang Patel 2009-01-06 21:07:30 +00:00
parent 0a611529e5
commit 6c23870973

View File

@ -3291,6 +3291,39 @@ public:
delete Values[j]; delete Values[j];
} }
/// SetDebugInfo - Create global DIEs and emit initial debug info sections.
/// This is inovked by the target AsmPrinter.
void SetDebugInfo() {
// FIXME - Check if the module has debug info or not.
// Create all the compile unit DIEs.
ConstructCompileUnits();
// Create DIEs for each of the externally visible global variables.
ConstructGlobalVariableDIEs();
// Create DIEs for each of the externally visible subprograms.
ConstructSubprograms();
// Prime section data.
SectionMap.insert(TAI->getTextSection());
// Print out .file directives to specify files for .loc directives. These
// are printed out early so that they precede any .loc directives.
if (TAI->hasDotLocAndDotFile()) {
for (unsigned i = 1, e = SrcFiles.size(); i <= e; ++i) {
sys::Path FullPath(Directories[SrcFiles[i].getDirectoryID()]);
bool AppendOk = FullPath.appendComponent(SrcFiles[i].getName());
assert(AppendOk && "Could not append filename to directory!");
AppendOk = false;
Asm->EmitFile(i, FullPath.toString());
Asm->EOL();
}
}
// Emit initial sections
EmitInitial();
}
/// SetModuleInfo - Set machine module information when it's known that pass /// SetModuleInfo - Set machine module information when it's known that pass
/// manager has created it. Set by the target AsmPrinter. /// manager has created it. Set by the target AsmPrinter.
void SetModuleInfo(MachineModuleInfo *mmi) { void SetModuleInfo(MachineModuleInfo *mmi) {