From 1bcf0f5e45fd4e17b1be5fc80984b3c1722ba381 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65180 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/AsmWriterEmitter.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index 4736cca77bd..06495d88341 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/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"; -- 2.34.1