diff options
author | Paul Robinson <paul.robinson@sony.com> | 2016-11-30 22:49:55 +0000 |
---|---|---|
committer | Paul Robinson <paul.robinson@sony.com> | 2016-11-30 22:49:55 +0000 |
commit | 37a13ddb4bb433ddebc64bf51a10f48fe75ac49c (patch) | |
tree | be99704493d6dafd2c5de10f444d2c499268d51b /llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp | |
parent | ba6a9a06fd68d1a408f82cb056d6ce978bade4f8 (diff) | |
download | bcm5719-llvm-37a13ddb4bb433ddebc64bf51a10f48fe75ac49c.tar.gz bcm5719-llvm-37a13ddb4bb433ddebc64bf51a10f48fe75ac49c.zip |
Recommit r288212: Emit 'no line' information for interesting 'orphan' instructions.
The LLDB tests are now ready for this patch.
DWARF specifies that "line 0" really means "no appropriate source
location" in the line table. Use this for branch targets and some
other cases that have no specified source location, to prevent
inheriting unfortunate line numbers from physically preceding
instructions (which might be from completely unrelated source).
Differential Revision: http://reviews.llvm.org/D24180
llvm-svn: 288283
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp index d30f106a939..5607242a7f1 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp @@ -201,8 +201,10 @@ void DebugHandlerBase::endInstruction() { assert(CurMI != nullptr); // Don't create a new label after DBG_VALUE instructions. // They don't generate code. - if (!CurMI->isDebugValue()) + if (!CurMI->isDebugValue()) { PrevLabel = nullptr; + PrevInstBB = CurMI->getParent(); + } DenseMap<const MachineInstr *, MCSymbol *>::iterator I = LabelsAfterInsn.find(CurMI); |