Disable the new unknown-location code for now. It causes a major

increase in the debug line info section, and it's causing
regressions in a gdb testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103226 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2010-05-07 01:08:53 +00:00
parent e2c3a49c80
commit 281d65d004
2 changed files with 21 additions and 15 deletions

View File

@ -47,6 +47,10 @@ static cl::opt<bool> PrintDbgScope("print-dbgscope", cl::Hidden,
static cl::opt<bool> DisableDebugInfoPrinting("disable-debug-info-print", cl::Hidden,
cl::desc("Disable debug info printing"));
static cl::opt<bool> UnknownLocations("use-unknown-locations", cl::Hidden,
cl::desc("Make an absense of debug location information explicit."),
cl::init(false));
namespace {
const char *DWARFGroupName = "DWARF Emission";
const char *DbgTimerName = "DWARF Debug Writer";
@ -2151,21 +2155,23 @@ void DwarfDebug::beginScope(const MachineInstr *MI) {
// Check location.
DebugLoc DL = MI->getDebugLoc();
if (DL.isUnknown()) {
// This instruction has no debug location. If the preceding instruction
// did, emit debug location information to indicate that the debug
// location is now unknown.
MCSymbol *Label = NULL;
if (DL == PrevInstLoc)
Label = PrevLabel;
else {
Label = recordSourceLine(DL.getLine(), DL.getCol(), 0);
PrevInstLoc = DL;
PrevLabel = Label;
}
if (UnknownLocations) {
// This instruction has no debug location. If the preceding instruction
// did, emit debug location information to indicate that the debug
// location is now unknown.
MCSymbol *Label = NULL;
if (DL == PrevInstLoc)
Label = PrevLabel;
else {
Label = recordSourceLine(DL.getLine(), DL.getCol(), 0);
PrevInstLoc = DL;
PrevLabel = Label;
}
// If this instruction begins a scope then note down corresponding label.
if (InsnsBeginScopeSet.count(MI) != 0)
LabelsBeforeInsn[MI] = Label;
// If this instruction begins a scope then note down corresponding label.
if (InsnsBeginScopeSet.count(MI) != 0)
LabelsBeforeInsn[MI] = Label;
}
return;
}

View File

@ -1,4 +1,4 @@
; RUN: llc < %s -asm-verbose=false -march=x86-64 | FileCheck %s
; RUN: llc < %s -asm-verbose=false -march=x86-64 -use-unknown-locations | FileCheck %s
; The divide instruction does not have a debug location. CodeGen should
; represent this in the debug information. This is checked by a check