From: Chris Lattner Date: Sun, 4 Apr 2010 18:18:51 +0000 (+0000) Subject: inline processDebugLoc and simplify it. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=285199502b08d7d2ac5f37ce5f94cb5e68cec197;p=oota-llvm.git inline processDebugLoc and simplify it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100339 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/AsmPrinter.h b/include/llvm/CodeGen/AsmPrinter.h index 89917f28a66..3ac229fe388 100644 --- a/include/llvm/CodeGen/AsmPrinter.h +++ b/include/llvm/CodeGen/AsmPrinter.h @@ -339,11 +339,7 @@ namespace llvm { /// EmitInlineAsm - Emit a blob of inline asm to the output streamer. void EmitInlineAsm(StringRef Str) const; - /// processDebugLoc - Processes the debug information of each machine - /// instruction's DebugLoc. - void processDebugLoc(const MachineInstr *MI, bool BeforePrintingInsn); - - /// EmitInlineAsm - This method formats and emits the specified machine + /// EmitInlineAsm - This method formats and emits the specified machine /// instruction that is an inline asm. void EmitInlineAsm(const MachineInstr *MI) const; diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index fe7db8e862b..2f80e80f4d2 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -416,6 +416,9 @@ void AsmPrinter::EmitFunctionBody() { // Emit target-specific gunk before the function body. EmitFunctionBodyStart(); + bool ShouldPrintDebugScopes = + DW && MAI->doesSupportDebugInformation() &&DW->ShouldEmitDwarfDebug(); + // Print out code for the function. bool HasAnyRealCode = false; for (MachineFunction::const_iterator I = MF->begin(), E = MF->end(); @@ -430,8 +433,8 @@ void AsmPrinter::EmitFunctionBody() { ++EmittedInsts; - // FIXME: Clean up processDebugLoc. - processDebugLoc(II, true); + if (ShouldPrintDebugScopes) + DW->BeginScope(II); if (VerboseAsm) EmitComments(*II, OutStreamer.GetCommentOS()); @@ -456,8 +459,8 @@ void AsmPrinter::EmitFunctionBody() { break; } - // FIXME: Clean up processDebugLoc. - processDebugLoc(II, false); + if (ShouldPrintDebugScopes) + DW->EndScope(II); } } @@ -1376,21 +1379,6 @@ void AsmPrinter::PrintSpecial(const MachineInstr *MI, raw_ostream &OS, } } -/// processDebugLoc - Processes the debug information of each machine -/// instruction's DebugLoc. -void AsmPrinter::processDebugLoc(const MachineInstr *MI, - bool BeforePrintingInsn) { - if (!DW || !MAI->doesSupportDebugInformation() || !DW->ShouldEmitDwarfDebug()) - return; - - if (!BeforePrintingInsn) - // After printing instruction - DW->EndScope(MI); - else - DW->BeginScope(MI); -} - - /// EmitInlineAsm - This method formats and emits the specified machine /// instruction that is an inline asm. void AsmPrinter::EmitInlineAsm(const MachineInstr *MI) const {