[PATCH] D136041: [clang][DebugInfo] Emit DISubprogram for extern functions with reserved names

Eduard Zingerman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 18 08:50:59 PDT 2022


eddyz87 added a comment.

In D136041#3862741 <https://reviews.llvm.org/D136041#3862741>, @aprantl wrote:

> ... Do you have any idea how much this will grow the debug info for something like, e.g., clang?

I made the measurements but I'm not sure what to make of these numbers (e.g. is it good or bad).
There were no changes in executable size for Clang (in Debug mode, I'll try in Release mode a bit later), so I tried the Linux kernel with debug symbols enabled instead.
Here are executable sizes in three modes:

- (main) w/o my changes;
- (a) with these two commits;
- (b) with these two commits but with `CalleeDecl->getBuiltinID() != 0` in `CGDebugInfo::EmitFuncDeclForCallSite` put back.

|                            | a           | b           | main        | a - main   | b - main   |
| vmlinux size (bytes)       | 667,827,456 | 667,365,792 | 663,996,200 | +3,831,256 | +3,369,592 |
| Debug section size (bytes) | 565,548,585 | 565,086,931 | 561,717,339 | +3,831,246 | +3,369,592 |
| #call site DIEs                | 311,217     | 303,909     | 242,933     | +68,284    | +60,976    |
| #call site parameter DIEs      | 369,405     | 361,080     | 301,738     | +67,667    | +59,342    |
|

The BTF use-case does not care about the builtin functions, so I can change this revision to variant (b) to save some space.
What do you think?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D136041/new/

https://reviews.llvm.org/D136041



More information about the cfe-commits mailing list