1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/DebugInfo/ARM
OCHyams 9d1808f4ad [DebugInfo] Drop location ranges for variables which exist entirely outside the variable's scope
Summary:
This patch reduces file size in debug builds by dropping variable locations a
debugger user will not see.

After building the debug entity history map we loop through it. For each
variable we look at each entry. If the entry opens a location range which does
not intersect any of the variable's scope's ranges then we mark it for removal.
After visiting the entries for each variable we also mark any clobbering
entries which will no longer be referenced for removal, and then finally erase
the marked entries. This all requires the ability to query the order of
instructions, so before this runs we number them.

Tests:
Added llvm/test/DebugInfo/X86/trim-var-locs.mir

Modified llvm/test/DebugInfo/COFF/register-variables.ll
  Branch folding merges the tails of if.then and if.else into if.else. Each
  blocks' debug-locations point to different scopes so when they're merged we
  can't use either. Because of this the variable 'c' ends up with a location
  range which doesn't cover any instructions in its scope; with the patch
  applied the location range is dropped and its flag changes to IsOptimizedOut.

Modified llvm/test/DebugInfo/X86/live-debug-variables.ll
Modified llvm/test/DebugInfo/ARM/PR26163.ll
  In both tests an out of scope location is now removed. The remaining location
  covers the entire scope of the variable allowing us to emit it as a single
  location.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D82129
2020-07-22 12:45:21 +01:00
..
big-endian-bitfield.ll
big-endian-dump.ll [Object] Change ELFObjectFile<ELFT>::getFileFormatName() to use BFD names 2020-03-16 07:42:04 -07:00
bitfield.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
call-site-info-output.ll [CallSiteInfo] Enable the call site info only for -g + optimizations 2020-03-09 12:12:44 +01:00
cfi-eof-prologue.mir [ARM] Move ConstantIsland and LowOverheadLoops Passes. 2020-03-25 16:49:21 +01:00
constant-dbgloc.ll
entry-value-multi-byte-expr.ll Revert "Reland "[DebugInfo] Enable the debug entry values feature by default"" 2020-02-20 14:41:39 +01:00
float-args.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
float-stack-arg.ll
header.ll
illegal-fragment.ll
line.test
lit.local.cfg
little-endian-dump.ll [Object] Change ELFObjectFile<ELFT>::getFileFormatName() to use BFD names 2020-03-16 07:42:04 -07:00
lowerbdgdeclare_vla.ll
multiple-constant-uses-drops-dbgloc.ll
partial-subreg.ll
PR16736.ll
PR26163.ll [DebugInfo] Drop location ranges for variables which exist entirely outside the variable's scope 2020-07-22 12:45:21 +01:00
processes-relocations.ll
prologue_end.ll
s-super-register.ll
salvage-debug-info.ll
sdag-split-arg1.ll
sdag-split-arg.ll
selectiondag-deadcode.ll
single-constant-use-preserves-dbgloc.ll
split-complex.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
sroa-complex.ll Remove lit feature object-emission 2020-02-10 15:57:56 -06:00
tls.ll