[PATCH] D58453: [DebugInfo][CGP] Limit placeDbgValues movement of dbg.value intrinsics

Jeremy Morse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 25 12:00:08 PST 2019


jmorse updated this revision to Diff 230949.
jmorse added a comment.
Herald added subscribers: hiraditya, jgravelle-google, sbc100.

Great news everyone, it's placeDbgValues time again!

I've hopefully fixed a bunch of performance regressions with what were the dependencies of this fix, the remainder of which are based around D70676 <https://reviews.llvm.org/D70676>, after which this should be alright to land. Just to set expectations, as discussed above this patch reduces variable location coverage, but increases the quality by not artificially reordering assignments.

One significant new addition in this revision is the WebAssemblyDebugValueManager logic that was discussed a while back. Instead of only looking at DBG_VALUEs immediately after a vreg def, this examines DBG_VALUEs in the whole local block and collects those that refer to the same value number as the defining instruction. Happily this means no WASM test changes at all.

In the meantime, DW_AT_location-reference.ll has grown some modifications -- since last time it's because of LiveDebugValues improvements preserving locations for longer, which are currently masked by placeDbgValues reordering the assignments.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58453/new/

https://reviews.llvm.org/D58453

Files:
  llvm/include/llvm/CodeGen/MachineInstr.h
  llvm/lib/CodeGen/CodeGenPrepare.cpp
  llvm/lib/CodeGen/MachineInstr.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
  llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.h
  llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
  llvm/test/DebugInfo/COFF/register-variables.ll
  llvm/test/DebugInfo/NVPTX/debug-info.ll
  llvm/test/DebugInfo/X86/DW_AT_location-reference.ll
  llvm/test/DebugInfo/X86/PR37234.ll
  llvm/test/tools/llvm-locstats/locstats.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58453.230949.patch
Type: text/x-patch
Size: 14759 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191125/eac58b73/attachment-0001.bin>


More information about the llvm-commits mailing list