[PATCH] D52862: DwarfDebug: Pick next location in case of missing location at block begin

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 4 12:14:40 PDT 2018


MatzeB added a comment.

That explains why I couldn't find those line tables in the executables :)

So here's a comparison of the line table sections in the .o files:

  Tests: 5100
  Metric: size.__DWARF_debug_line
  
  Program                                         debug_line  debug_line0 diff
  
  External/S...PU2006/403.gcc/src/insn-opinit    9345        6081        -34.9%
  External/S...ec/CPU2006/458.sjeng/src/sjeng    4829        3529        -26.9%
  External/S...pec/CPU2006/458.sjeng/src/eval    4524        3353        -25.9%
  External/S...spec/CINT95/124.m88ksim/src/go    1622        1208        -25.5%
  MultiSourc...Files/timberwolfmc.dir/findloc    4667        3488        -25.3%
  External/S...CINT2000/186.crafty/src/option    20585       15408       -25.1%
  External/S...U2006/403.gcc/src/insn-attrtab    198287      148800      -25.0%
  External/S...nchspec/CINT95/099.go/src/g27a    5325        4025        -24.4%
  External/S...nchspec/CINT95/099.go/src/g27b    2073        1567        -24.4%
  External/S...c/CINT2000/186.crafty/src/time    2405        1819        -24.4%
  MultiSourc...CMakeFiles/compiler.dir/parser    7185        5443        -24.2%
  External/S...ec/CPU2006/458.sjeng/src/moves    18948       14424       -23.9%
  External/S...c/CINT2000/254.gap/src/scanner    8954        6840        -23.6%
  External/S...enchspec/CINT95/099.go/src/g25    41351       31651       -23.5%
  External/S...c/CINT2000/186.crafty/src/edit    1649        1263        -23.4%
            debug_line    debug_line0         diff
  count  5100.000000    5100.000000    5100.000000
  mean   7859.688627    7537.172157   -0.030294
  std    17028.127781   16122.239159   0.044775
  min    135.000000     136.000000    -0.349278
  25%    1242.000000    1200.750000   -0.043018
  50%    3508.500000    3341.000000   -0.012748
  75%    9079.500000    8857.750000    0.000462
  max    521041.000000  515397.000000  0.025559

So it's an average 3% reduction of the line table section ranging from -2% to 35% reduction. (Looking at the few size increases I see less `.loc` files in the assembly diff, so I suspect it is just an effect of the directory name being 1 character longer in the patched version...)


Repository:
  rL LLVM

https://reviews.llvm.org/D52862





More information about the llvm-commits mailing list