[all-commits] [llvm/llvm-project] 708cbd: [DebugInfo][InstrRef] Honour too-much-debug-info c...

Jeremy Morse via All-commits all-commits at lists.llvm.org
Tue Aug 17 03:35:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 708cbda5771aecf84e93c4e7f5d6f78bbc92af6e
      https://github.com/llvm/llvm-project/commit/708cbda5771aecf84e93c4e7f5d6f78bbc92af6e
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2021-08-17 (Tue, 17 Aug 2021)

  Changed paths:
    M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
    M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
    M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
    M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
    M llvm/test/DebugInfo/MIR/X86/live-debug-values-cutoffs.mir

  Log Message:
  -----------
  [DebugInfo][InstrRef] Honour too-much-debug-info cutouts

This reapplies 54a61c94f93, its follow up in 547b712500e, which were
reverted 95fe61e63954. Original commit message:

VarLoc based LiveDebugValues will abandon variable location propagation if
there are too many blocks and variable assignments in the function. If it
didn't, and we had (say) 1000 blocks and 1000 variables in scope, we'd end
up with 1 million DBG_VALUEs just at the start of blocks.

Instruction-referencing LiveDebugValues should honour this limitation too
(because the same limitation applies to it). Hoist the relevant command
line options into LiveDebugValues.cpp and pass it down into the
implementation classes as an argument to ExtendRanges. I've duplicated all
the run-lines in live-debug-values-cutoffs.mir to have an
instruction-referencing flavour.

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




More information about the All-commits mailing list