From 4d38d7272e9e6cd8153795ec551cd2aecc8abaa1 Mon Sep 17 00:00:00 2001 From: Bill Wendling Date: Fri, 20 Feb 2009 22:19:20 +0000 Subject: [PATCH] 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 --- llvm/utils/TableGen/AsmWriterEmitter.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/llvm/utils/TableGen/AsmWriterEmitter.cpp b/llvm/utils/TableGen/AsmWriterEmitter.cpp index 4736cca77bd2..06495d883414 100644 --- a/llvm/utils/TableGen/AsmWriterEmitter.cpp +++ b/llvm/utils/TableGen/AsmWriterEmitter.cpp @@ -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";