Emit 'no line' information for interesting 'orphan' instructions.
authorPaul Robinson <paul.robinson@sony.com>
Tue, 29 Nov 2016 22:41:16 +0000 (22:41 +0000)
committerPaul Robinson <paul.robinson@sony.com>
Tue, 29 Nov 2016 22:41:16 +0000 (22:41 +0000)
commit96de8c778bb954d01a10ce1251f6b52e89018698
tree5e24997c148e2282cea951bcbf6c797310a5af8a
parent17062a2bf6159649cab8fabf843e352e79ee77c5
Emit 'no line' information for interesting 'orphan' instructions.

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: 288212
llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.h
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/test/CodeGen/X86/stack-protector.ll
llvm/test/DebugInfo/AArch64/line-header.ll
llvm/test/DebugInfo/X86/dwarf-no-source-loc.ll [new file with mode: 0644]