[PATCH] D157913: [Coverage] Allow Clang coverage to be used with debug info correlation.

Ellis Hoag via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 12 13:12:41 PDT 2023


ellis added a comment.

In D157913#4638845 <https://reviews.llvm.org/D157913#4638845>, @zequanwu wrote:

> In D157913#4638569 <https://reviews.llvm.org/D157913#4638569>, @phosek wrote:
>
>> In D157913#4626007 <https://reviews.llvm.org/D157913#4626007>, @zequanwu wrote:
>>
>>>> It seems that the `__llvm_prf_names` is retained in this mode. What is the overhead of this section generally? Can we instead use debug info to lookup function names?
>>>
>>> With debug info correlation enabled, `__llvm_prf_names` section will only contain functions names that are not emitted to the final binary, not even in debug info.
>>
>> Could we emit those names into the `.debug_str` section?
>
> Yes, I think it's feasible by creating a fake variable debug info that contains all the skipped function names in the source file for each object file, but that's a bit more overhead in debug info compared to just plain `__llvm_prf_names` in binary, which is only about 0.2% or less of original size [1].
>
> [1]: https://bugs.chromium.org/p/chromium/issues/detail?id=1463755#c8

Since the `.debug_str` section can be stripped before execution time, I don't count that towards the binary size overhead. But I believe the `__llvm_prf_names` section cannot be stripped as is. So it would be an improvement if we could completely remove the `__llvm_prf_names` section and emit names in the `.debug_str` section.

I see that you have one case where the overhead of the names section is just 0.2%. I wonder if this is common or if there exist real-world scenarios where the overhead is more significant. If not then leaving the names section in the binary might be ok, but we should probably leave a note explaining how we could remove it if we emit the names in debug info.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157913



More information about the cfe-commits mailing list