Add back dot_rdg.

2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>

	Revert commit: 2009-12-16  Ben Elliston  <bje@au.ibm.com>
	* tree-data-ref.c (dot_rdg_1): Added back.
	(dot_rdg): Same.  Added "#if 0" around system call.

From-SVN: r164380
This commit is contained in:
Sebastian Pop 2010-09-17 21:39:19 +00:00 committed by Sebastian Pop
parent e7ed95a24d
commit f3241b295c
2 changed files with 76 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2010-09-17 Sebastian Pop <sebastian.pop@amd.com>
Revert commit: 2009-12-16 Ben Elliston <bje@au.ibm.com>
* tree-data-ref.c (dot_rdg_1): Added back.
(dot_rdg): Same. Added "#if 0" around system call.
2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
Richard Henderson <rth@redhat.com>

View File

@ -4709,6 +4709,76 @@ debug_rdg (struct graph *rdg)
dump_rdg (stderr, rdg);
}
static void
dot_rdg_1 (FILE *file, struct graph *rdg)
{
int i;
fprintf (file, "digraph RDG {\n");
for (i = 0; i < rdg->n_vertices; i++)
{
struct vertex *v = &(rdg->vertices[i]);
struct graph_edge *e;
/* Highlight reads from memory. */
if (RDG_MEM_READS_STMT (rdg, i))
fprintf (file, "%d [style=filled, fillcolor=green]\n", i);
/* Highlight stores to memory. */
if (RDG_MEM_WRITE_STMT (rdg, i))
fprintf (file, "%d [style=filled, fillcolor=red]\n", i);
if (v->succ)
for (e = v->succ; e; e = e->succ_next)
switch (RDGE_TYPE (e))
{
case input_dd:
fprintf (file, "%d -> %d [label=input] \n", i, e->dest);
break;
case output_dd:
fprintf (file, "%d -> %d [label=output] \n", i, e->dest);
break;
case flow_dd:
/* These are the most common dependences: don't print these. */
fprintf (file, "%d -> %d \n", i, e->dest);
break;
case anti_dd:
fprintf (file, "%d -> %d [label=anti] \n", i, e->dest);
break;
default:
gcc_unreachable ();
}
}
fprintf (file, "}\n\n");
}
/* Display the Reduced Dependence Graph using dotty. */
extern void dot_rdg (struct graph *);
DEBUG_FUNCTION void
dot_rdg (struct graph *rdg)
{
/* When debugging, enable the following code. This cannot be used
in production compilers because it calls "system". */
#if 0
FILE *file = fopen ("/tmp/rdg.dot", "w");
gcc_assert (file != NULL);
dot_rdg_1 (file, rdg);
fclose (file);
system ("dotty /tmp/rdg.dot &");
#else
dot_rdg_1 (stderr, rdg);
#endif
}
/* This structure is used for recording the mapping statement index in
the RDG. */