We have logic in there to emit a default debugging label at the beginning of a

function. Emitting another label after the prologue messes up the debugging. We
are doing that because the first DebugLoc object it sees is different from the
previous, which was nothing. Check for this situation, and don't emit one if
it's the first.

llvm-svn: 65180
This commit is contained in:
Bill Wendling 2009-02-20 22:19:20 +00:00
parent c2541a4450
commit 0a1cd0bf22

View File

@ -647,11 +647,10 @@ void AsmWriterEmitter::run(std::ostream &O) {
<< " if (!CurDL.isUnknown()) {\n"
<< " static DebugLocTuple PrevDLT(~0U, ~0U, ~0U);\n"
<< " DebugLocTuple CurDLT = MF->getDebugLocTuple(CurDL);\n\n"
<< " if (PrevDLT != CurDLT) {\n"
<< " if (PrevDLT.Src != ~0U && PrevDLT != CurDLT)\n"
<< " printLabel(DW->RecordSourceLine(CurDLT.Line, CurDLT.Col,\n"
<< " CurDLT.Src));\n"
<< " PrevDLT = CurDLT;\n"
<< " }\n"
<< " CurDLT.Src));\n\n"
<< " PrevDLT = CurDLT;\n"
<< " }\n"
<< " }\n\n";