mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
inline processDebugLoc and simplify it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100339 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
dfa107e45a
commit
285199502b
@ -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;
|
||||
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user