Fix PR26585 by improving the promotion of DBG_VALUEs to DW_AT_locations.
authorAdrian Prantl <aprantl@apple.com>
Mon, 29 Feb 2016 19:49:46 +0000 (19:49 +0000)
committerAdrian Prantl <aprantl@apple.com>
Mon, 29 Feb 2016 19:49:46 +0000 (19:49 +0000)
commitfb2add2be1e00cd003c6c08d41285ca92fba5274
tree491960ee25ef58a70188cdbad0f1a1d129876753
parentbbd16815b02ca6345598b523c1b07fa814c73dd2
Fix PR26585 by improving the promotion of DBG_VALUEs to DW_AT_locations.
When a variable is described by a single DBG_VALUE instruction we can
often use a more efficient inline DW_AT_location instead of using a
location list.

This commit makes the heuristic that decides when to apply this
optimization stricter by also verifying that the DBG_VALUE is live at the
entry of the function (instead of just checking that it is valid until
the end of the function).

<rdar://problem/24611008>

llvm-svn: 262247
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/test/DebugInfo/X86/PR26148.ll
llvm/test/DebugInfo/X86/parameters.ll
llvm/test/DebugInfo/X86/pieces-2.ll
llvm/test/DebugInfo/X86/pieces-3.ll
llvm/test/DebugInfo/X86/reference-argument.ll
llvm/test/DebugInfo/X86/single-dbg_value.ll [new file with mode: 0644]
llvm/test/DebugInfo/X86/subregisters.ll