+2016-09-27 Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/77749
+ * gcov-counter.def: Remove GCOV_COUNTER_V_DELTA.
+
2016-09-27 Jakub Jelinek <jakub@redhat.com>
* combine.c (simplify_comparison): Add canonical FALLTHROUGH comments.
/* 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)
+2016-09-27 Martin Liska <mliska@suse.cz>
+
+ PR bootstrap/77749
+ * 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.
+
2016-09-21 Eric Botcazou <ebotcazou@adacore.com>
* configure.ac: Do not create links, only substitute the filenames.
# 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 \
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
}
#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
/* 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
#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
/* 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;