Re: Fix build with inhibit_libc (was Re: [PATCH 2/4] Implement N disk counters for single value and indirect call counters.)

2019-06-11 Thread Martin Liška
On 6/10/19 11:53 PM, Jakub Jelinek wrote: > On Mon, Jun 10, 2019 at 08:02:26PM +0200, Jakub Jelinek wrote: >> This change broke build without target libc. >> >> ../../../../libgcc/libgcov-merge.c:37:6: error: conflicting types for >> ‘__gcov_merge_single’ >>37 | void __gcov_merge_single (gcov_

Re: Fix build with inhibit_libc (was Re: [PATCH 2/4] Implement N disk counters for single value and indirect call counters.)

2019-06-10 Thread Jakub Jelinek
On Mon, Jun 10, 2019 at 08:02:26PM +0200, Jakub Jelinek wrote: > This change broke build without target libc. > > ../../../../libgcc/libgcov-merge.c:37:6: error: conflicting types for > ‘__gcov_merge_single’ >37 | void __gcov_merge_single (gcov_type *counters __attribute__ > ((unused))) >

Fix build with inhibit_libc (was Re: [PATCH 2/4] Implement N disk counters for single value and indirect call counters.)

2019-06-10 Thread Jakub Jelinek
On Fri, Jun 07, 2019 at 11:10:59AM +0200, Martin Liška wrote: > libgcc/ChangeLog: > > 2019-06-04 Martin Liska > > * Makefile.in: Add __gcov_one_value_profiler_v2, > __gcov_one_value_profiler_v2_atomic and > __gcov_indirect_call_profiler_v4. > * libgcov-merge.c (__gcov_m

Re: [PATCH 2/4] Implement N disk counters for single value and indirect call counters.

2019-06-10 Thread Martin Liška
On 6/7/19 3:58 PM, Jan Hubicka wrote: >> >> Because I removed hist->hvalue.counters[2] where we stored total number of >> executions. >> It's back again so that _atomic suffix version makes sense again. > > OK and we do not care about race conditions on the other two counters? We do care, but on

Re: [PATCH 2/4] Implement N disk counters for single value and indirect call counters.

2019-06-07 Thread Jan Hubicka
> > Because I removed hist->hvalue.counters[2] where we stored total number of > executions. > It's back again so that _atomic suffix version makes sense again. OK and we do not care about race conditions on the other two counters? > > After we discussed that I decided to live with all counters

Re: [PATCH 2/4] Implement N disk counters for single value and indirect call counters.

2019-06-07 Thread Martin Liška
|| length != GCOV_TAG_COUNTER_LENGTH (ci_ptr->num)) 308 goto read_mismatch; 309 (*merge) (ci_ptr->values, ci_ptr->num); 310ci_ptr++; It would be quite nasty and I would like to mitigate libgcov profile crashes. >

Re: [PATCH 2/4] Implement N disk counters for single value and indirect call counters.

2019-06-06 Thread Jan Hubicka
> > gcc/ChangeLog: > > 2019-06-04 Martin Liska > > * gcov-io.h (GCOV_DISK_SINGLE_VALUES): New. > (GCOV_SINGLE_VALUE_COUNTERS): Likewise. > * ipa-profile.c (ipa_profile_generate_summary): > Use get_most_common_single_value. > * tree-profile.c (gimple_init_gcov_pro

[PATCH 2/4] Implement N disk counters for single value and indirect call counters.

2019-06-04 Thread marxin
gcc/ChangeLog: 2019-06-04 Martin Liska * gcov-io.h (GCOV_DISK_SINGLE_VALUES): New. (GCOV_SINGLE_VALUE_COUNTERS): Likewise. * ipa-profile.c (ipa_profile_generate_summary): Use get_most_common_single_value. * tree-profile.c (gimple_init_gcov_profiler):