[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