Implement debugging functions for assert_info's.
authorAldy Hernandez <aldyh@redhat.com>
Mon, 4 Nov 2019 19:52:06 +0000 (19:52 +0000)
committerAldy Hernandez <aldyh@gcc.gnu.org>
Mon, 4 Nov 2019 19:52:06 +0000 (19:52 +0000)
From-SVN: r277790

gcc/ChangeLog
gcc/tree-vrp.c

index 6d90105..dd1b042 100644 (file)
@@ -1,3 +1,8 @@
+2019-11-04  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree-vrp.c (dump_assert_info): New.
+       (dump_asserts_info): New.
+
 2019-11-04  Jan Hubicka  <jh@suse.cz>
 
        * ipa-inline-transform.c: Include ipa-utils.h
index da6b615..7c35802 100644 (file)
@@ -2114,6 +2114,45 @@ debug_all_asserts (void)
   dump_all_asserts (stderr);
 }
 
+/* Dump assert_info structure.  */
+
+void
+dump_assert_info (FILE *file, const assert_info &assert)
+{
+  fprintf (file, "Assert for: ");
+  print_generic_expr (file, assert.name);
+  fprintf (file, "\n\tPREDICATE: expr=[");
+  print_generic_expr (file, assert.expr);
+  fprintf (file, "] %s ", get_tree_code_name (assert.comp_code));
+  fprintf (file, "val=[");
+  print_generic_expr (file, assert.val);
+  fprintf (file, "]\n\n");
+}
+
+DEBUG_FUNCTION void
+debug (const assert_info &assert)
+{
+  dump_assert_info (stderr, assert);
+}
+
+/* Dump a vector of assert_info's.  */
+
+void
+dump_asserts_info (FILE *file, const vec<assert_info> &asserts)
+{
+  for (unsigned i = 0; i < asserts.length (); ++i)
+    {
+      dump_assert_info (file, asserts[i]);
+      fprintf (file, "\n");
+    }
+}
+
+DEBUG_FUNCTION void
+debug (const vec<assert_info> &asserts)
+{
+  dump_asserts_info (stderr, asserts);
+}
+
 /* Push the assert info for NAME, EXPR, COMP_CODE and VAL to ASSERTS.  */
 
 static void