[clang] [clang][DebugInfo] Attach `DISubprogram` to additional call variants (PR #166202)

J. Ryan Stinnett via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 3 09:53:47 PST 2025


jryans wrote:

This change does increase debug info size a bit. Here's a diff of object file section sizes when compiling a recent commit of Clang (using `-O2 -g`):

```
    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +1.4% +9.97Mi  [ = ]       0    .debug_info
  +2.3% +1.01Mi  [ = ]       0    .debug_addr
  +0.7%  +836Ki  [ = ]       0    .debug_str_offsets
  +0.0%  +129Ki  [ = ]       0    .debug_str
  +0.0% +22.1Ki  [ = ]       0    .debug_loclists
  +0.0% +7.96Ki  [ = ]       0    .debug_rnglists
   +21% +1.44Ki  [ = ]       0    [Unmapped]
  -0.0%     -59  [ = ]       0    .debug_line_str
  -0.0%    -540  [ = ]       0    .debug_line
  -0.0% -1.44Ki  -0.0% -1.44Ki    .rodata
  -0.5% -60.6Ki  [ = ]       0    .debug_abbrev
  +0.7% +11.9Mi  -0.0% -1.44Ki    TOTAL
```

Since this additional call site info was intended to be there all along (AIUI) and is needed to properly retrieve variable values that use `DW_OP_entry_value`), I believe we should accept the larger binary size.

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


More information about the cfe-commits mailing list