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

Jeremy Morse via All-commits all-commits at lists.llvm.org
Mon Aug 16 07:07:30 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 54a61c94f932f894f2695e0c18bb288d2d1407b7
      https://github.com/llvm/llvm-project/commit/54a61c94f932f894f2695e0c18bb288d2d1407b7
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2021-08-16 (Mon, 16 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

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