Dump histograms only if present.
authorMartin Liska <mliska@suse.cz>
Mon, 10 Jun 2019 07:39:20 +0000 (09:39 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 10 Jun 2019 07:39:20 +0000 (07:39 +0000)
2019-06-10  Martin Liska  <mliska@suse.cz>

* value-prof.c (dump_histogram_value): Print histogram values
only if present.

From-SVN: r272107

gcc/ChangeLog
gcc/value-prof.c

index 9f1a365ed2ed9c506e47c95fde1824004a261176..c463b689f6bafabd0e1cb6d3428046f67f64e472 100644 (file)
@@ -1,3 +1,8 @@
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * value-prof.c (dump_histogram_value): Print histogram values
+       only if present.
+
 2019-06-10  Martin Liska  <mliska@suse.cz>
 
        * gcov-io.h (GCOV_DISK_SINGLE_VALUES): New.
index b95bf85270bbbd0b57ef4045fd5f7d1b448bed6d..28fbec01984b9975338b0eabf75203af30536fce 100644 (file)
@@ -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 ();