]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Make graph dumps use graphviz format
authorRichard Biener <rguenther@suse.de>
Tue, 30 Apr 2024 11:01:43 +0000 (13:01 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 2 May 2024 07:01:11 +0000 (09:01 +0200)
SLP build eventually uses graphds graphs, the following makes its
dump use graphviz format so you can easily visualize it.

* graphds.cc (dump_graph): Dump in graphviz format.

gcc/graphds.cc

index 17d08966f53bdeee51654ece8caae9281209d4f2..ed5bfeb280849e795288243535b0e3b43038bcc5 100644 (file)
@@ -31,22 +31,17 @@ dump_graph (FILE *f, struct graph *g)
   int i;
   struct graph_edge *e;
 
+  fprintf (f, "digraph {\n");
   for (i = 0; i < g->n_vertices; i++)
     {
-      if (!g->vertices[i].pred
-         && !g->vertices[i].succ)
-       continue;
-
-      fprintf (f, "%d (%d)\t<-", i, g->vertices[i].component);
+      fprintf (f, "\"%d\" [label=\"%d (%d): %p\"];\n",
+              i, i, g->vertices[i].component, g->vertices[i].data);
       for (e = g->vertices[i].pred; e; e = e->pred_next)
-       fprintf (f, " %d", e->src);
-      fprintf (f, "\n");
-
-      fprintf (f, "\t->");
+       fprintf (f, "\"%d\" -> \"%d\" [label=\"%p\"];\n", e->src, e->dest, e->data);
       for (e = g->vertices[i].succ; e; e = e->succ_next)
-       fprintf (f, " %d", e->dest);
-      fprintf (f, "\n");
+       fprintf (f, "\"%d\" -> \"%d\";\n", e->src, e->dest);
     }
+  fprintf (f, "}\n");
 }
 
 /* Creates a new graph with N_VERTICES vertices.  */