[all-commits] [llvm/llvm-project] 12a2f7: [DebugInfo][InstrRef] Prefer stack locations for v...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Thu Mar 17 07:26:37 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 12a2f7494e745eb4c90133ea17cadac3a8eb8d07
      https://github.com/llvm/llvm-project/commit/12a2f7494e745eb4c90133ea17cadac3a8eb8d07
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2022-03-17 (Thu, 17 Mar 2022)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/test/DebugInfo/COFF/pieces.ll
    M llvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_recover_clobbers.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-restore.mir
    M llvm/test/DebugInfo/X86/pr34545.ll
    M llvm/test/DebugInfo/X86/spill-nospill.ll

  Log Message:
  -----------
  [DebugInfo][InstrRef] Prefer stack locations for variables

This patch adjusts what location is picked for a known variable value --
preferring to leave locations on the stack, even when a value is re-loaded
into a register. The benefit is reduced location list entropy, on a
clang-3.4 build I found that .debug_loclists reduces in size by 6%, from
29Mb down to 27Mb.

Testing: a few tests need the stack slot to be written to explicitly, to
force LiveDebugValues into restoring the variable location to a register.
I've added an explicit test for the desired behaviour in
livedebugvalues_recover_clobbers.mir .

Differential Revision: https://reviews.llvm.org/D120732




More information about the All-commits mailing list