From b2cc1a39f79742320ee6ba126d9eec4d6770dee7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 9 Mar 2010 01:02:30 +0000 Subject: [PATCH] mcstreamerize AsmPrinter::printLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 12 ++++++++---- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 2 -- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 246538b8c20..cdd5fff3a62 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -1323,7 +1323,6 @@ void AsmPrinter::processDebugLoc(const MachineInstr *MI, CurDLT.getColumnNumber(), CurDLT.getScope().getNode()); printLabel(L); - O << '\n'; DW->BeginScope(MI, L); PrevDLT = CurDLT.getNode(); } @@ -1554,12 +1553,17 @@ void AsmPrinter::printKill(const MachineInstr *MI) const { /// printLabel - This method prints a local label used by debug and /// exception handling tables. void AsmPrinter::printLabelInst(const MachineInstr *MI) const { - printLabel(MI->getOperand(0).getImm()); - OutStreamer.AddBlankLine(); + MCSymbol *Sym = + OutContext.GetOrCreateSymbol(Twine(MAI->getPrivateGlobalPrefix()) + + "label" + Twine(MI->getOperand(0).getImm())); + OutStreamer.EmitLabel(Sym); } void AsmPrinter::printLabel(unsigned Id) const { - O << MAI->getPrivateGlobalPrefix() << "label" << Id << ':'; + MCSymbol *Sym = + OutContext.GetOrCreateSymbol(Twine(MAI->getPrivateGlobalPrefix()) + + "label" + Twine(Id)); + OutStreamer.EmitLabel(Sym); } /// PrintAsmOperand - Print the specified operand of MI, an INLINEASM diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 8272eabe845..3c3228140ad 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1972,7 +1972,6 @@ void DwarfDebug::endScope(const MachineInstr *MI) { unsigned Label = MMI->NextLabelID(); Asm->printLabel(Label); - O << '\n'; SmallVector &SD = I->second; for (SmallVector::iterator SDI = SD.begin(), SDE = SD.end(); @@ -2131,7 +2130,6 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) { DLT.getColumnNumber(), DLT.getScope().getNode()); Asm->printLabel(LabelID); - O << '\n'; } if (TimePassesIsEnabled) DebugTimer->stopTimer();