From: Martin Liska Date: Mon, 10 Jun 2019 07:39:20 +0000 (+0200) Subject: Dump histograms only if present. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6cea7e397693c3fb2e77b6f9d7770fecc15fd204;p=gcc.git Dump histograms only if present. 2019-06-10 Martin Liska * value-prof.c (dump_histogram_value): Print histogram values only if present. From-SVN: r272107 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9f1a365ed2e..c463b689f6b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-06-10 Martin Liska + + * value-prof.c (dump_histogram_value): Print histogram values + only if present. + 2019-06-10 Martin Liska * gcov-io.h (GCOV_DISK_SINGLE_VALUES): New. diff --git a/gcc/value-prof.c b/gcc/value-prof.c index b95bf85270b..28fbec01984 100644 --- a/gcc/value-prof.c +++ b/gcc/value-prof.c @@ -228,87 +228,74 @@ dump_histogram_value (FILE *dump_file, histogram_value hist) switch (hist->type) { case HIST_TYPE_INTERVAL: - fprintf (dump_file, "Interval counter range %d -- %d", - hist->hdata.intvl.int_start, - (hist->hdata.intvl.int_start - + hist->hdata.intvl.steps - 1)); if (hist->hvalue.counters) { - unsigned int i; - fprintf (dump_file, " ["); - for (i = 0; i < hist->hdata.intvl.steps; i++) - fprintf (dump_file, " %d:%" PRId64, - hist->hdata.intvl.int_start + i, - (int64_t) hist->hvalue.counters[i]); - fprintf (dump_file, " ] outside range:%" PRId64, - (int64_t) hist->hvalue.counters[i]); + fprintf (dump_file, "Interval counter range %d -- %d", + hist->hdata.intvl.int_start, + (hist->hdata.intvl.int_start + + hist->hdata.intvl.steps - 1)); + + unsigned int i; + fprintf (dump_file, " ["); + for (i = 0; i < hist->hdata.intvl.steps; i++) + fprintf (dump_file, " %d:%" PRId64, + hist->hdata.intvl.int_start + i, + (int64_t) hist->hvalue.counters[i]); + fprintf (dump_file, " ] outside range:%" PRId64 ".\n", + (int64_t) hist->hvalue.counters[i]); } - fprintf (dump_file, ".\n"); break; case HIST_TYPE_POW2: - fprintf (dump_file, "Pow2 counter "); if (hist->hvalue.counters) - { - fprintf (dump_file, "pow2:%" PRId64 - " nonpow2:%" PRId64, - (int64_t) hist->hvalue.counters[1], - (int64_t) hist->hvalue.counters[0]); - } - fprintf (dump_file, ".\n"); + fprintf (dump_file, "Pow2 counter pow2:%" PRId64 + " nonpow2:%" PRId64 ".\n", + (int64_t) hist->hvalue.counters[1], + (int64_t) hist->hvalue.counters[0]); break; case HIST_TYPE_SINGLE_VALUE: case HIST_TYPE_INDIR_CALL: - fprintf (dump_file, - (hist->type == HIST_TYPE_SINGLE_VALUE - ? "Single value counter " : "Indirect call counter")); if (hist->hvalue.counters) { - fprintf (dump_file, "all: %" PRId64 ", values: ", - (int64_t) hist->hvalue.counters[0]); - for (unsigned i = 0; i < GCOV_DISK_SINGLE_VALUES; i++) + fprintf (dump_file, + (hist->type == HIST_TYPE_SINGLE_VALUE + ? "Single value counter " : "Indirect call counter")); + if (hist->hvalue.counters) { - fprintf (dump_file, "[%" PRId64 ":%" PRId64 "]", - (int64_t) hist->hvalue.counters[2 * i + 1], - (int64_t) hist->hvalue.counters[2 * i + 2]); - if (i != GCOV_DISK_SINGLE_VALUES - 1) - fprintf (dump_file, ", "); + fprintf (dump_file, "all: %" PRId64 ", values: ", + (int64_t) hist->hvalue.counters[0]); + for (unsigned i = 0; i < GCOV_DISK_SINGLE_VALUES; i++) + { + fprintf (dump_file, "[%" PRId64 ":%" PRId64 "]", + (int64_t) hist->hvalue.counters[2 * i + 1], + (int64_t) hist->hvalue.counters[2 * i + 2]); + if (i != GCOV_DISK_SINGLE_VALUES - 1) + fprintf (dump_file, ", "); + } + fprintf (dump_file, ".\n"); } } - fprintf (dump_file, ".\n"); break; case HIST_TYPE_AVERAGE: - fprintf (dump_file, "Average value "); if (hist->hvalue.counters) - { - fprintf (dump_file, "sum:%" PRId64 - " times:%" PRId64, - (int64_t) hist->hvalue.counters[0], - (int64_t) hist->hvalue.counters[1]); - } - fprintf (dump_file, ".\n"); + fprintf (dump_file, "Average value sum:%" PRId64 + " times:%" PRId64 ".\n", + (int64_t) hist->hvalue.counters[0], + (int64_t) hist->hvalue.counters[1]); break; case HIST_TYPE_IOR: - fprintf (dump_file, "IOR value "); if (hist->hvalue.counters) - { - fprintf (dump_file, "ior:%" PRId64, - (int64_t) hist->hvalue.counters[0]); - } - fprintf (dump_file, ".\n"); + fprintf (dump_file, "IOR value ior:%" PRId64 ".\n", + (int64_t) hist->hvalue.counters[0]); break; case HIST_TYPE_TIME_PROFILE: - fprintf (dump_file, "Time profile "); if (hist->hvalue.counters) - { - fprintf (dump_file, "time:%" PRId64, - (int64_t) hist->hvalue.counters[0]); - } - fprintf (dump_file, ".\n"); + fprintf (dump_file, "Time profile time:%" PRId64 ".\n", + (int64_t) hist->hvalue.counters[0]); break; case HIST_TYPE_MAX: gcc_unreachable ();