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:
parent
e7ed95a24d
commit
f3241b295c
@ -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>
|
2010-09-17 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
Richard Henderson <rth@redhat.com>
|
Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
|
@ -4709,6 +4709,76 @@ debug_rdg (struct graph *rdg)
|
|||||||
dump_rdg (stderr, 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
|
/* This structure is used for recording the mapping statement index in
|
||||||
the RDG. */
|
the RDG. */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user