> And the second part is rename so that it reflect reality > that single value can actually track multiple values. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin
> From cc9e93d43941176e92b5821e5a8134a5319a10b4 Mon Sep 17 00:00:00 2001 > From: Martin Liska <mli...@suse.cz> > Date: Thu, 20 Jun 2019 14:50:23 +0200 > Subject: [PATCH 2/2] Rename SINGE_VALUE to TOPN_VALUES counters. > > gcc/ChangeLog: > > 2019-06-20 Martin Liska <mli...@suse.cz> > > * gcov-counter.def (GCOV_COUNTER_V_SINGLE): Remove. > (GCOV_COUNTER_V_TOPN): New. > (GCOV_COUNTER_V_INDIR): Use _topn. > * gcov-io.h (GCOV_DISK_SINGLE_VALUES): Remove. > (GCOV_TOPN_VALUES): New. > (GCOV_SINGLE_VALUE_COUNTERS): Remove. > (GCOV_TOPN_VALUES_COUNTERS): New. > * profile.c (instrument_values): Use HIST_TYPE_TOPN_VALUES. > * tree-profile.c: > (gimple_init_gcov_profiler): Rename variables from one_value > to topn_values. > (gimple_gen_one_value_profiler): Remove. > (gimple_gen_topn_values_profiler): New function. > * value-prof.c (dump_histogram_value): Use TOPN_VALUES > names instead of SINGLE_VALUE. > (stream_out_histogram_value): Likewise. > (stream_in_histogram_value): Likewise. > (get_most_common_single_value): Likewise. > (gimple_divmod_fixed_value_transform): Likewise. > (gimple_stringops_transform): Likewise. > (gimple_divmod_values_to_profile): Likewise. > (gimple_stringops_values_to_profile): Likewise. > (gimple_find_values_to_profile): Likewise. > * value-prof.h (enum hist_type): Rename to TOPN. > (gimple_gen_one_value_profiler): Remove. > (gimple_gen_topn_values_profiler): New. > > libgcc/ChangeLog: > > 2019-06-20 Martin Liska <mli...@suse.cz> > > * Makefile.in: Use topn_values instead of one_value names. > * libgcov-merge.c (__gcov_merge_single): Move to ... > (__gcov_merge_topn): ... this. > (merge_single_value_set): Move to ... > (merge_topn_values_set): ... this. > * libgcov-profiler.c (__gcov_one_value_profiler_body): Move to > ... > (__gcov_topn_values_profiler_body): ... this. > (__gcov_one_value_profiler_v2): Move to ... > (__gcov_topn_values_profiler): ... this. > (__gcov_one_value_profiler_v2_atomic): Move to ... > (__gcov_topn_values_profiler_atomic): ... this. > (__gcov_indirect_call_profiler_v4): Remove. > * libgcov-util.c (__gcov_single_counter_op): Move to ... > (__gcov_topn_counter_op): ... this. > * libgcov.h (L_gcov_merge_single): Remove. > (L_gcov_merge_topn): New. > (__gcov_merge_single): Remove. > (__gcov_merge_topn): New. > (__gcov_one_value_profiler_v2): Move to .. > (__gcov_topn_values_profiler): ... this. > (__gcov_one_value_profiler_v2_atomic): Move to ... > (__gcov_topn_values_profiler_atomic): ... this. OK, I would rename the __gcov_topn_values_profiler to _v2 since we had this function before. Honza