djtodoro 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` on Linux:
> 
> ```
>     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.

This is okay. Thanks.

However, I would mention that AFAIK, a call_site entry can be useful iff:
 1) is marked as a tail call (debuggers use it to show the artificial frames)
 2) has call-site-paramters (debuggers use it along with entry_values)

 Otherwise, we can avoid the call_sites in the final DWARF, and it should 
reduce the final binary size.

https://github.com/llvm/llvm-project/pull/166202
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to