https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95348

--- Comment #23 from Martin Liška <marxin at gcc dot gnu.org> ---
Created attachment 48660
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48660&action=edit
work-in-progress patch

There's patch that does not stream all zero counters for a function. The patch
only supports streaming and gcov-dump:

$ gcov-dump -l a-foo.gcda
a-foo.gcda:data:magic `gcda':version `B10e'
a-foo.gcda:stamp 1948224357
a-foo.gcda:  a1000000:   2:OBJECT_SUMMARY runs=1, sum_max=1
a-foo.gcda:  01000000:   3:FUNCTION ident=108032747,
lineno_checksum=0x2408bf36, cfg_checksum=0x7cb34af9
a-foo.gcda:    01a10000:   4:COUNTERS arcs 2 counts
a-foo.gcda:                   0: 1 1 
a-foo.gcda:    01af0000:   2:COUNTERS time_profiler 1 counts
a-foo.gcda:                   0: 1 
a-foo.gcda:  01000000:   3:FUNCTION ident=932535731,
lineno_checksum=0x74cbb94c, cfg_checksum=0xeb219516
a-foo.gcda:    01a10000:   4:COUNTERS arcs 2 counts (all zero)
a-foo.gcda:                   0: 0 0 
a-foo.gcda:    01af0000:   2:COUNTERS time_profiler 1 counts (all zero)
a-foo.gcda:                   0: 0 

Can you please test the patch and measure how much does it help for your
test-case?
Note that the FUNCTION section will be streamed (it contains 3 64-bit integers
for each fn:
ident=932535731, lineno_checksum=0x74cbb94c, cfg_checksum=0xeb219516).

Reply via email to