llvm-project/llvm/test/DebugInfo/MIR/X86
Jeremy Morse 708cbda577 [DebugInfo][InstrRef] Honour too-much-debug-info cutouts
This reapplies 54a61c94f9, its follow up in 547b712500, which were
reverted 95fe61e639. 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
2021-08-17 11:34:49 +01:00
..
avoid-single-entry-value-location.mir
bit-piece-dh.mir
call-site-gnu-vs-dwarf5-attrs.mir
call-site-param-mov16.mir
callsite-stack-value.mir [DWARF] Revert sharing subprograms across CUs 2021-08-09 12:43:43 +01:00
clobbered-fragments.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
complex-entryvalue.mir
dbg-call-site-spilled-arg-multiple-defs.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dbg-call-site-spilled-arg.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dbg-stack-value-range.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dbgcall-site-copy-super-sub.mir
dbgcall-site-interpretation.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dbgcall-site-lea-interpretation.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dbgcall-site-partial-describe.mir
dbgcall-site-reference.mir
dbgcall-site-reg-shuffle.mir
dbgcall-site-two-fwd-reg-defs.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dbginfo-entryvals.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
debug-call-site-param.mir [DWARF] Revert sharing subprograms across CUs 2021-08-09 12:43:43 +01:00
debug-entry-value-operation.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
debug-loc-0.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dvl-livedebugvalues-clobber.mir [DebugInfo] Process DBG_VALUE_LIST in LiveDebugValues 2021-03-09 18:58:26 +00:00
dvl-livedebugvalues-join.mir [DebugInfo] Process DBG_VALUE_LIST in LiveDebugValues 2021-03-09 18:58:26 +00:00
dvl-livedebugvalues-movements.mir [DebugInfo] Process DBG_VALUE_LIST in LiveDebugValues 2021-03-09 18:58:26 +00:00
dvl-livedebugvalues-spillrestore.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
dvl-livedebugvars-movements.mir [DebugInfo] Process DBG_VALUE_LIST in LiveDebugVariables 2021-03-10 12:37:59 +00:00
dvl-livedebugvars-stackptr.mir [DebugInfo] Process DBG_VALUE_LIST in LiveDebugVariables 2021-03-10 12:37:59 +00:00
empty-inline.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
entry-value-of-modified-param.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
entry-values-diamond-bbs.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
kill-after-spill.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
kill-entry-value-after-diamond-bbs.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
lit.local.cfg
live-debug-values-3preds.mir
live-debug-values-bad-transfer.mir
live-debug-values-cutoffs.mir [DebugInfo][InstrRef] Honour too-much-debug-info cutouts 2021-08-17 11:34:49 +01:00
live-debug-values-entry-transfer.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
live-debug-values-fragments.mir
live-debug-values-reg-copy.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
live-debug-values-restore-collide.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
live-debug-values-restore.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
live-debug-values-spill.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
live-debug-values-stack-clobber.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
live-debug-values.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
live-debug-vars-unused-arg-debugonly.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
live-debug-vars-unused-arg.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
livedebugvalues-ignores-metaInstructions.mir
livedebugvalues-limit.mir
livedebugvalues_basic_diamond.mir
livedebugvalues_basic_diamond_match_clobber.mir
livedebugvalues_basic_diamond_match_move.mir
livedebugvalues_basic_diamond_one_clobber.mir
livedebugvalues_basic_diamond_one_move.mir
livedebugvalues_basic_loop.mir
livedebugvalues_bb_to_bb.mir
livedebugvalues_bb_to_bb_clobbered.mir
livedebugvalues_bb_to_bb_move_to_clobber.mir
livedebugvalues_load_in_loop.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
livedebugvalues_loop_break.mir
livedebugvalues_loop_break_clobbered.mir
livedebugvalues_loop_clobbered.mir
livedebugvalues_loop_diamond.mir
livedebugvalues_loop_diamond_clobber.mir
livedebugvalues_loop_diamond_move.mir
livedebugvalues_loop_early_clobber.mir
livedebugvalues_loop_terminated.mir
livedebugvalues_loop_two_backedge.mir
livedebugvalues_loop_two_backedge_clobbered.mir
livedebugvalues_loop_within_loop.mir
livedebugvalues_loop_within_loop_clobbered.mir
livedebugvalues_loop_within_loop_moved.mir
livedebugvalues_loop_within_loop_outer_moved.mir
livedebugvalues_many_loop_heads.mir
livedebugvars-crossbb-interval.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
machine-cse.mir
machinesink-subreg.mir
machinesink.mir
mlicm-hoist-post-regalloc.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
mlicm-hoist-pre-regalloc.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
multiple-param-dbg-value-entry.mir [RemoveRedundantDebugValues] Add a Pass that removes redundant DBG_VALUEs 2021-07-14 04:29:42 -07:00
no-cfi-loc.mir
piece-entryval.mir Reset the EntryValue location flag in finalizeEntryValue. 2021-02-18 18:36:36 -08:00
postra-subreg-sink.mir
prolog-epilog-indirection.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
propagate-entry-value-cross-bbs.mir [LiveDebugValues][InstrRef][2/2] Emit entry value variable locations 2021-06-30 23:07:39 +01:00
regcoalescer.mir RegisterCoalescer: Fix iterating through use operands. 2021-06-21 09:17:54 -07:00
regcoalescing-clears-dead-dbgvals.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
remove-redundant-dbg-vals.mir [2/2][RemoveRedundantDebugValues] Add a Pass that removes redundant DBG_VALUEs 2021-07-15 00:08:31 -07:00
sink-leaves-undef.mir CodeGen: Print/parse LLTs in MachineMemOperands 2021-06-30 16:54:13 -04:00
unreachable-block-call-site.mir