Hello. Following patch removes forgotten hunks connected to removal of __gcov_merge_delta counter. I'm running make profiledbootstrap, ready to install the patch after it finishes?
Thanks, Martin
>From e0123fe1cefe5f5cced239c36ebccd53c38feb25 Mon Sep 17 00:00:00 2001 From: marxin <mli...@suse.cz> Date: Tue, 27 Sep 2016 09:38:58 +0200 Subject: [PATCH] Remove __gcov_merge_delta (PR bootstrap/77749) gcc/ChangeLog: 2016-09-27 Martin Liska <mli...@suse.cz> * gcov-counter.def: Remove GCOV_COUNTER_V_DELTA. libgcc/ChangeLog: 2016-09-27 Martin Liska <mli...@suse.cz> * Makefile.in: Remove _gcov_merge_delta. * libgcov-merge.c (void __gcov_merge_delta): Remove. * libgcov-util.c (__gcov_delta_counter_op): Remove. * libgcov.h: Remove declaration of __gcov_merge_delta. --- gcc/gcov-counter.def | 3 --- libgcc/Makefile.in | 2 +- libgcc/libgcov-merge.c | 45 --------------------------------------------- libgcc/libgcov-util.c | 17 ----------------- libgcc/libgcov.h | 5 ----- 5 files changed, 1 insertion(+), 71 deletions(-) diff --git a/gcc/gcov-counter.def b/gcc/gcov-counter.def index 64c2673..55d3f0c 100644 --- a/gcc/gcov-counter.def +++ b/gcc/gcov-counter.def @@ -38,9 +38,6 @@ DEF_GCOV_COUNTER(GCOV_COUNTER_V_POW2, "pow2", _add) /* The most common value of expression. */ DEF_GCOV_COUNTER(GCOV_COUNTER_V_SINGLE, "single", _single) -/* The most common difference between consecutive values of expression. */ -DEF_GCOV_COUNTER(GCOV_COUNTER_V_DELTA, "delta", _delta) - /* The most common indirect address. */ DEF_GCOV_COUNTER(GCOV_COUNTER_V_INDIR, "indirect_call", _single) diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in index ff3c77f..873cad0 100644 --- a/libgcc/Makefile.in +++ b/libgcc/Makefile.in @@ -877,7 +877,7 @@ include $(iterator) # Build libgcov components. -LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ +LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single \ _gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn LIBGCOV_PROFILER = _gcov_interval_profiler \ _gcov_interval_profiler_atomic \ diff --git a/libgcc/libgcov-merge.c b/libgcc/libgcov-merge.c index 3a8bb2c..fd2f074 100644 --- a/libgcc/libgcov-merge.c +++ b/libgcc/libgcov-merge.c @@ -38,11 +38,6 @@ void __gcov_merge_single (gcov_type *counters __attribute__ ((unused)), unsigned n_counters __attribute__ ((unused))) {} #endif -#ifdef L_gcov_merge_delta -void __gcov_merge_delta (gcov_type *counters __attribute__ ((unused)), - unsigned n_counters __attribute__ ((unused))) {} -#endif - #else #ifdef L_gcov_merge_add @@ -127,46 +122,6 @@ __gcov_merge_single (gcov_type *counters, unsigned n_counters) } #endif /* L_gcov_merge_single */ -#ifdef L_gcov_merge_delta -/* The profile merging function for choosing the most common - difference between two consecutive evaluations of the value. It is - given an array COUNTERS of N_COUNTERS old counters and it reads the - same number of counters from the gcov file. The counters are split - into 4-tuples where the members of the tuple have meanings: - - -- the last value of the measured entity - -- the stored candidate on the most common difference - -- counter - -- total number of evaluations of the value */ -void -__gcov_merge_delta (gcov_type *counters, unsigned n_counters) -{ - unsigned i, n_measures; - gcov_type value, counter, all; - - gcc_assert (!(n_counters % 4)); - n_measures = n_counters / 4; - for (i = 0; i < n_measures; i++, counters += 4) - { - /* last = */ gcov_get_counter (); - value = gcov_get_counter_target (); - counter = gcov_get_counter (); - all = gcov_get_counter (); - - if (counters[1] == value) - counters[2] += counter; - else if (counter > counters[2]) - { - counters[1] = value; - counters[2] = counter - counters[2]; - } - else - counters[2] -= counter; - counters[3] += all; - } -} -#endif /* L_gcov_merge_delta */ - #ifdef L_gcov_merge_icall_topn /* The profile merging function used for merging indirect call counts This function is given array COUNTERS of N_COUNTERS old counters and it diff --git a/libgcc/libgcov-util.c b/libgcc/libgcov-util.c index 24ee50e..b1d966c 100644 --- a/libgcc/libgcov-util.c +++ b/libgcc/libgcov-util.c @@ -720,23 +720,6 @@ __gcov_time_profile_counter_op (gcov_type *counters ATTRIBUTE_UNUSED, /* Do nothing. */ } -/* Performaing FN upon delta counters. */ - -static void -__gcov_delta_counter_op (gcov_type *counters, unsigned n_counters, - counter_op_fn fn, void *data1, void *data2) -{ - unsigned i, n_measures; - - gcc_assert (!(n_counters % 4)); - n_measures = n_counters / 4; - for (i = 0; i < n_measures; i++, counters += 4) - { - counters[2] = fn (counters[2], data1, data2); - counters[3] = fn (counters[3], data1, data2); - } -} - /* Performing FN upon single counters. */ static void diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h index 25147de..725ef0a 100644 --- a/libgcc/libgcov.h +++ b/libgcc/libgcov.h @@ -126,7 +126,6 @@ typedef unsigned gcov_position_t; #define L_gcov 1 #define L_gcov_merge_add 1 #define L_gcov_merge_single 1 -#define L_gcov_merge_delta 1 #define L_gcov_merge_ior 1 #define L_gcov_merge_time_profile 1 #define L_gcov_merge_icall_topn 1 @@ -256,10 +255,6 @@ extern void __gcov_merge_time_profile (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; /* The merge function to choose the most common value. */ extern void __gcov_merge_single (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; -/* The merge function to choose the most common difference between - consecutive values. */ -extern void __gcov_merge_delta (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; - /* The merge function that just ors the counters together. */ extern void __gcov_merge_ior (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; -- 2.9.2