From 75f50725c1d7f86ee545337b155b4feac66627f6 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 4 Apr 2010 07:48:20 +0000 Subject: [PATCH] remove the raw_ostream from various dwarf printing things. The only thing left is LEB printing, which uses EmitRawText for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100325 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/DwarfWriter.h | 3 +-- lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 2 +- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 8 ++++---- lib/CodeGen/AsmPrinter/DwarfDebug.h | 8 ++++---- lib/CodeGen/AsmPrinter/DwarfException.cpp | 5 ++--- lib/CodeGen/AsmPrinter/DwarfException.h | 6 +++--- lib/CodeGen/AsmPrinter/DwarfPrinter.cpp | 10 ++++------ lib/CodeGen/AsmPrinter/DwarfPrinter.h | 5 +---- lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 13 +++++-------- 9 files changed, 25 insertions(+), 35 deletions(-) diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h index 494400ee2c9..89874f89205 100644 --- a/include/llvm/CodeGen/DwarfWriter.h +++ b/include/llvm/CodeGen/DwarfWriter.h @@ -68,8 +68,7 @@ public: /// BeginModule - Emit all Dwarf sections that should come prior to the /// content. - void BeginModule(Module *M, MachineModuleInfo *MMI, raw_ostream &OS, - AsmPrinter *A, const MCAsmInfo *T); + void BeginModule(Module *M, AsmPrinter *A); /// EndModule - Emit all Dwarf sections that should come after the content. /// diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 3252a42cc93..dea96bd479f 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -137,7 +137,7 @@ bool AsmPrinter::doInitialization(Module &M) { DW = getAnalysisIfAvailable(); if (DW) - DW->BeginModule(&M, MMI, O, this, MAI); + DW->BeginModule(&M, this); return false; } diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 9084456c8f4..07b35e2ba38 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -298,8 +298,8 @@ DbgScope::~DbgScope() { } // end llvm namespace -DwarfDebug::DwarfDebug(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T) - : DwarfPrinter(OS, A, T), ModuleCU(0), +DwarfDebug::DwarfDebug(AsmPrinter *A) + : DwarfPrinter(A), ModuleCU(0), AbbreviationsSet(InitAbbreviationsSetSize), Abbreviations(), DIEBlocks(), SectionSourceLines(), didInitial(false), shouldEmit(false), CurrentFnDbgScope(0), DebugTimer(0) { @@ -1780,7 +1780,7 @@ void DwarfDebug::constructSubprogramDIE(MDNode *N) { /// beginModule - Emit all Dwarf sections that should come prior to the /// content. Create global DIEs and emit initial debug info sections. /// This is inovked by the target AsmPrinter. -void DwarfDebug::beginModule(Module *M, MachineModuleInfo *mmi) { +void DwarfDebug::beginModule(Module *M) { this->M = M; if (!MAI->doesSupportDebugInformation()) @@ -1809,7 +1809,7 @@ void DwarfDebug::beginModule(Module *M, MachineModuleInfo *mmi) { E = DbgFinder.global_variable_end(); I != E; ++I) constructGlobalVariableDIE(*I); - MMI = mmi; + MMI = Asm->MMI; shouldEmit = true; MMI->setDebugInfoAvailability(true); diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h index 03d9d9935f2..5dabd8e48a3 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.h +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h @@ -487,8 +487,8 @@ class DwarfDebug : public DwarfPrinter { /// GetOrCreateSourceID - Look up the source id with the given directory and /// source file names. If none currently exists, create a new id and insert it - /// in the SourceIds map. This can update DirectoryNames and SourceFileNames maps - /// as well. + /// in the SourceIds map. This can update DirectoryNames and SourceFileNames + /// maps as well. unsigned GetOrCreateSourceID(StringRef DirName, StringRef FileName); void constructCompileUnit(MDNode *N); @@ -507,7 +507,7 @@ public: //===--------------------------------------------------------------------===// // Main entry points. // - DwarfDebug(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T); + DwarfDebug(AsmPrinter *A); virtual ~DwarfDebug(); /// ShouldEmitDwarfDebug - Returns true if Dwarf debugging declarations should @@ -516,7 +516,7 @@ public: /// beginModule - Emit all Dwarf sections that should come prior to the /// content. - void beginModule(Module *M, MachineModuleInfo *MMI); + void beginModule(Module *M); /// endModule - Emit all Dwarf sections that should come after the content. /// diff --git a/lib/CodeGen/AsmPrinter/DwarfException.cpp b/lib/CodeGen/AsmPrinter/DwarfException.cpp index 8b616b01261..bf89cd6da18 100644 --- a/lib/CodeGen/AsmPrinter/DwarfException.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfException.cpp @@ -37,9 +37,8 @@ #include "llvm/ADT/Twine.h" using namespace llvm; -DwarfException::DwarfException(raw_ostream &OS, AsmPrinter *A, - const MCAsmInfo *T) - : DwarfPrinter(OS, A, T), shouldEmitTable(false),shouldEmitMoves(false), +DwarfException::DwarfException(AsmPrinter *A) + : DwarfPrinter(A), shouldEmitTable(false), shouldEmitMoves(false), shouldEmitTableModule(false), shouldEmitMovesModule(false), ExceptionTimer(0) { if (TimePassesIsEnabled) diff --git a/lib/CodeGen/AsmPrinter/DwarfException.h b/lib/CodeGen/AsmPrinter/DwarfException.h index 4bc4a458c04..85bf5819905 100644 --- a/lib/CodeGen/AsmPrinter/DwarfException.h +++ b/lib/CodeGen/AsmPrinter/DwarfException.h @@ -166,14 +166,14 @@ public: //===--------------------------------------------------------------------===// // Main entry points. // - DwarfException(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T); + DwarfException(AsmPrinter *A); virtual ~DwarfException(); /// BeginModule - Emit all exception information that should come prior to the /// content. - void BeginModule(Module *m, MachineModuleInfo *mmi) { + void BeginModule(Module *m) { this->M = m; - this->MMI = mmi; + this->MMI = Asm->MMI; } /// EndModule - Emit all exception information that should come after the diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp index 9de17883420..4106c7ae75a 100644 --- a/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp @@ -31,8 +31,8 @@ #include "llvm/ADT/SmallString.h" using namespace llvm; -DwarfPrinter::DwarfPrinter(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T) -: O(OS), Asm(A), MAI(T), TD(Asm->TM.getTargetData()), +DwarfPrinter::DwarfPrinter(AsmPrinter *A) +: Asm(A), MAI(A->MAI), TD(Asm->TM.getTargetData()), RI(Asm->TM.getRegisterInfo()), M(NULL), MF(NULL), MMI(NULL), SubprogramCount(0) {} @@ -139,8 +139,7 @@ void DwarfPrinter::EmitSLEB128(int Value, const char *Desc) const { if (MAI->hasLEB128()) { // FIXME: MCize. - O << "\t.sleb128\t" << Value; - Asm->OutStreamer.AddBlankLine(); + Asm->OutStreamer.EmitRawText("\t.sleb128\t" + Twine(Value)); return; } @@ -165,8 +164,7 @@ void DwarfPrinter::EmitULEB128(unsigned Value, const char *Desc, if (MAI->hasLEB128() && PadTo == 0) { // FIXME: MCize. - O << "\t.uleb128\t" << Value; - Asm->OutStreamer.AddBlankLine(); + Asm->OutStreamer.EmitRawText("\t.uleb128\t" + Twine(Value)); return; } diff --git a/lib/CodeGen/AsmPrinter/DwarfPrinter.h b/lib/CodeGen/AsmPrinter/DwarfPrinter.h index 0b94645a8c7..04355e0f86f 100644 --- a/lib/CodeGen/AsmPrinter/DwarfPrinter.h +++ b/lib/CodeGen/AsmPrinter/DwarfPrinter.h @@ -39,9 +39,6 @@ protected: // Core attributes used by the DWARF printer. // - /// O - Stream to .s file. - raw_ostream &O; - /// Asm - Target of Dwarf emission. AsmPrinter *Asm; @@ -66,7 +63,7 @@ protected: /// SubprogramCount - The running count of functions being compiled. unsigned SubprogramCount; - DwarfPrinter(raw_ostream &OS, AsmPrinter *A, const MCAsmInfo *T); + DwarfPrinter(AsmPrinter *A); public: //===------------------------------------------------------------------===// diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index a2d7ab1224e..7aa928170cc 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -36,14 +36,11 @@ DwarfWriter::~DwarfWriter() { /// BeginModule - Emit all Dwarf sections that should come prior to the /// content. -void DwarfWriter::BeginModule(Module *M, - MachineModuleInfo *MMI, - raw_ostream &OS, AsmPrinter *A, - const MCAsmInfo *T) { - DE = new DwarfException(OS, A, T); - DD = new DwarfDebug(OS, A, T); - DE->BeginModule(M, MMI); - DD->beginModule(M, MMI); +void DwarfWriter::BeginModule(Module *M, AsmPrinter *A) { + DE = new DwarfException(A); + DD = new DwarfDebug(A); + DE->BeginModule(M); + DD->beginModule(M); } /// EndModule - Emit all Dwarf sections that should come after the content.