forked from OSchip/llvm-project
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:
parent
666f7a42d6
commit
4d38d7272e
|
@ -647,12 +647,11 @@ void AsmWriterEmitter::run(std::ostream &O) {
|
||||||
<< " if (!CurDL.isUnknown()) {\n"
|
<< " if (!CurDL.isUnknown()) {\n"
|
||||||
<< " static DebugLocTuple PrevDLT(~0U, ~0U, ~0U);\n"
|
<< " static DebugLocTuple PrevDLT(~0U, ~0U, ~0U);\n"
|
||||||
<< " DebugLocTuple CurDLT = MF->getDebugLocTuple(CurDL);\n\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"
|
<< " printLabel(DW->RecordSourceLine(CurDLT.Line, CurDLT.Col,\n"
|
||||||
<< " CurDLT.Src));\n"
|
<< " CurDLT.Src));\n\n"
|
||||||
<< " PrevDLT = CurDLT;\n"
|
<< " PrevDLT = CurDLT;\n"
|
||||||
<< " }\n"
|
<< " }\n"
|
||||||
<< " }\n"
|
|
||||||
<< " }\n\n";
|
<< " }\n\n";
|
||||||
|
|
||||||
O << " if (MI->getOpcode() == TargetInstrInfo::INLINEASM) {\n"
|
O << " if (MI->getOpcode() == TargetInstrInfo::INLINEASM) {\n"
|
||||||
|
|
Loading…
Reference in New Issue