[llvm] [DebugInfo][DWARF] Emit DW_AT_abstract_origin for concrete/inlined DW_TAG_lexical_blocks (PR #136205)

Vladislav Dzhidzhoev via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 23 07:24:05 PDT 2025


dzhidzhoev wrote:

> I think this is the right direction, and I'm not sure what we'll do about it if we have to do anything, but... could you measure the size impact of this change? (use Bloaty's comparison mode to compare, say, a Release built clang built with a compiler with/without this change)

Sure!

```
$ bloaty ../llvm-build-llvm/bin/clang.dSYM/Contents/Resources/DWARF/clang -- ../llvm-build-llvm-old/bin/clang.dSYM/Contents/Resources/DWARF/clang
    FILE SIZE        VM SIZE
 --------------  --------------
  +0.1%  +663Ki  +0.1%  +663Ki    __DWARF,__debug_info
  +0.0% +20.8Ki  +0.0% +20.8Ki    __DWARF,__debug_str
  +0.0% +6.24Ki  +0.0% +6.24Ki    __DWARF,__debug_names
  +0.0% +2.87Ki  +0.0% +2.87Ki    __DWARF,__debug_loclists
  +0.0% +1.52Ki  +0.0% +2.39Ki    __TEXT,__text
  -0.0%    -450  +0.0% +1.96Ki    __DWARF,__debug_line
  +0.0% +1.17Ki  +0.0% +1.17Ki    __DWARF,__debug_addr
  +0.0%    +868  +0.0%    +868    __DWARF,__debug_str_offs
  +0.0%    +803  [ = ]       0    String Table
  +0.0%    +454  +0.0%    +454    __DWARF,__debug_rnglists
  +0.0%     +96  [ = ]       0    Symbol Table
  +0.2%     +54  +0.2%     +54    __DWARF,__debug_abbrev
  [ = ]       0  +0.0%      +6    __TEXT,__cstring
  -0.0%      -8  -0.0%      -8    __DWARF,__debug_line_str
  [DEL]      -3 -75.9% -2.33Ki    [__DWARF]
  [ = ]       0 -16.8% -2.40Ki    [__TEXT]
  +0.0%  +698Ki  +0.0%  +696Ki    TOTAL
```

```
 $ bloaty `find ../llvm-build-llvm/lib -iname \*.o`    | $ bloaty `find ../llvm-build-llvm-old/lib -iname \*.o`
    FILE SIZE        VM SIZE                           |    FILE SIZE        VM SIZE
 --------------  --------------                        | --------------  --------------
  60.6%  2.01Gi  61.5%  2.01Gi    ,__debug_str         |  60.6%  2.00Gi  61.5%  2.00Gi    ,__debug_str
  23.2%   787Mi  23.5%   787Mi    ,__debug_info        |  23.2%   784Mi  23.5%   784Mi    ,__debug_info
   5.0%   171Mi   5.1%   171Mi    ,__debug_names       |   5.0%   170Mi   5.1%   170Mi    ,__debug_names
   3.8%   128Mi   3.8%   128Mi    ,__debug_str_offs    |   3.8%   127Mi   3.8%   127Mi    ,__debug_str_offs
   1.6%  53.7Mi   1.6%  53.7Mi    ,__debug_loclists    |   1.6%  53.5Mi   1.6%  53.5Mi    ,__debug_loclists
   1.2%  41.1Mi   1.2%  41.1Mi    ,__text              |   1.2%  41.0Mi   1.2%  41.0Mi    ,__text
   1.0%  34.4Mi   1.0%  34.4Mi    ,__debug_line        |   1.0%  34.3Mi   1.0%  34.3Mi    ,__debug_line
   0.7%  25.1Mi   0.0%       0    [Unmapped]           |   0.7%  25.0Mi   0.0%       0    [Unmapped]
   0.6%  19.5Mi   0.0%       0    String Table         |   0.6%  19.4Mi   0.0%       0    String Table
   0.5%  17.3Mi   0.5%  17.3Mi    ,__debug_line_str    |   0.5%  17.2Mi   0.5%  17.2Mi    ,__debug_line_str
   0.5%  15.5Mi   0.5%  15.5Mi    ,__debug_addr        |   0.5%  15.4Mi   0.5%  15.4Mi    ,__debug_addr
   0.4%  13.2Mi   0.4%  13.2Mi    ,__const             |   0.4%  13.2Mi   0.4%  13.2Mi    ,__const
   0.3%  9.58Mi   0.3%  9.58Mi    ,__debug_rnglists    |   0.3%  9.54Mi   0.3%  9.54Mi    ,__debug_rnglists
   0.3%  8.71Mi   0.3%  8.71Mi    ,__debug_abbrev      |   0.3%  8.67Mi   0.3%  8.67Mi    ,__debug_abbrev
   0.2%  5.22Mi   0.0%       0    Symbol Table         |   0.2%  5.20Mi   0.0%       0    Symbol Table
   0.1%  3.86Mi   0.1%  3.86Mi    ,__compact_unwind    |   0.1%  3.84Mi   0.1%  3.84Mi    ,__compact_unwind
   0.1%  2.49Mi   0.0%       0    [Mach-O Headers]     |   0.1%  2.49Mi   0.0%       0    [Mach-O Headers]
   0.0%  1.40Mi   0.0%       0    Optimization Hints   |   0.0%  1.39Mi   0.0%       0    Optimization Hints
   0.0%  1.39Mi   0.0%  1.39Mi    ,__cstring           |   0.0%  1.38Mi   0.0%  1.38Mi    ,__cstring
   0.0%   725Ki   0.0%   755Ki    [13 Others]          |   0.0%   724Ki   0.0%   754Ki    [13 Others]
   0.0%       0   0.0%   451Ki    ,__bss               |   0.0%       0   0.0%   451Ki    ,__bss
 100.0%  3.32Gi 100.0%  3.27Gi    TOTAL                | 100.0%  3.31Gi 100.0%  3.26Gi    TOTAL
```

https://github.com/llvm/llvm-project/pull/136205


More information about the llvm-commits mailing list