Dump -fdbg-cnt limit reach also to stderr stream.
authorMartin Liska <mliska@suse.cz>
Fri, 29 Mar 2019 11:45:56 +0000 (12:45 +0100)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 29 Mar 2019 11:45:56 +0000 (11:45 +0000)
2019-03-29  Martin Liska  <mliska@suse.cz>

* dbgcnt.c (print_limit_reach): New function.
(dbg_cnt): Use it.
2019-03-29  Martin Liska  <mliska@suse.cz>

* gcc.dg/ipa/ipa-icf-39.c: Prine '***dbgcnt' output.
* gcc.dg/pr68766.c: Likewise.

From-SVN: r270015

gcc/ChangeLog
gcc/dbgcnt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/ipa/ipa-icf-39.c
gcc/testsuite/gcc.dg/pr68766.c

index 7f6b8a5..a941f24 100644 (file)
@@ -1,5 +1,10 @@
 2019-03-29  Martin Liska  <mliska@suse.cz>
 
+       * dbgcnt.c (print_limit_reach): New function.
+       (dbg_cnt): Use it.
+
+2019-03-29  Martin Liska  <mliska@suse.cz>
+
        * dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style.
        (dbg_cnt_process_opt): Parse first tokens aas
        dbg_cnt_process_single_pair is also using strtok.
index e2f65f4..15ffe11 100644 (file)
@@ -58,21 +58,27 @@ dbg_cnt_is_enabled (enum debug_counter index)
   return v > limit_low[index] && v <= limit_high[index];
 }
 
+static void
+print_limit_reach (const char *counter, int limit, bool upper_p)
+{
+  char buffer[128];
+  sprintf (buffer, "***dbgcnt: %s limit %d reached for %s.***\n",
+          upper_p ? "upper" : "lower", limit, counter);
+  fputs (buffer, stderr);
+  if (dump_file)
+    fputs (buffer, dump_file);
+}
+
 bool
 dbg_cnt (enum debug_counter index)
 {
   count[index]++;
 
-  if (dump_file)
-    {
-      /* Do not print the info for default lower limit.  */
-      if (count[index] == limit_low[index] && limit_low[index] > 0)
-       fprintf (dump_file, "***dbgcnt: lower limit %d reached for %s.***\n",
-                limit_low[index], map[index].name);
-      else if (count[index] == limit_high[index])
-       fprintf (dump_file, "***dbgcnt: upper limit %d reached for %s.***\n",
-                limit_high[index], map[index].name);
-    }
+  /* Do not print the info for default lower limit.  */
+  if (count[index] == limit_low[index] && limit_low[index] > 0)
+    print_limit_reach (map[index].name, limit_low[index], false);
+  else if (count[index] == limit_high[index])
+    print_limit_reach (map[index].name, limit_high[index], true);
 
   return dbg_cnt_is_enabled (index);
 }
index 07274c6..08d0609 100644 (file)
@@ -1,3 +1,8 @@
+2019-03-29  Martin Liska  <mliska@suse.cz>
+
+       * gcc.dg/ipa/ipa-icf-39.c: Prine '***dbgcnt' output.
+       * gcc.dg/pr68766.c: Likewise.
+
 2019-03-29  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/87485
index 18bd4b0..a60721f 100644 (file)
@@ -2,6 +2,7 @@
 /* { dg-require-alias "" } */
 /* { dg-options "-O2 -fdump-ipa-icf -fmerge-all-constants -fdbg-cnt=merged_ipa_icf:1:3"  } */
 /* { dg-prune-output "dbg_cnt 'merged_ipa_icf' set to 1-3" } */
+/* { dg-prune-output "\\*\\*\\*dbgcnt:.*limit.*reached" } */
 
 static int a;
 static int b;
index 097e555..5308b23 100644 (file)
@@ -2,6 +2,7 @@
 /* { dg-options "-O2 -ftree-vectorize -fdbg-cnt=vect_loop:1" } */
 /* { dg-additional-options "-mavx2" { target { i?86-*-* x86_64-*-* } } } */
 /* { dg-prune-output "dbg_cnt 'vect_loop' set to 0-1" } */
+/* { dg-prune-output "\\*\\*\\*dbgcnt:.*limit.*reached" } */
 
 int a, b, g, h;
 int c[58];