Commit 0d5ef2a9 by Sebastian Pop Committed by Sebastian Pop

graphite-sese-to-poly.c (dump_alias_graphs): New.

2009-10-22  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (dump_alias_graphs): New.
	(build_scop_drs): Call dump_alias_graphs.

From-SVN: r154619
parent f70de156
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (dump_alias_graphs): New.
(build_scop_drs): Call dump_alias_graphs.
2009-10-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (new_scop): Initialize SCOP_ORIGINAL_SCHEDULE,
SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
(free_scop): Call free_lst on SCOP_ORIGINAL_SCHEDULE,
......
......@@ -2025,42 +2025,15 @@ build_pbb_drs (poly_bb_p pbb)
build_poly_dr (dr, pbb);
}
/* Build data references in SCOP. */
/* Dump to file the alias graphs for the data references in DRS. */
static void
build_scop_drs (scop_p scop)
dump_alias_graphs (VEC (data_reference_p, heap) *drs)
{
int i, j;
poly_bb_p pbb;
data_reference_p dr;
VEC (data_reference_p, heap) *drs = VEC_alloc (data_reference_p, heap, 3);
for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
for (j = 0; VEC_iterate (data_reference_p,
GBB_DATA_REFS (PBB_BLACK_BOX (pbb)), j, dr); j++)
VEC_safe_push (data_reference_p, heap, drs, dr);
for (i = 0; VEC_iterate (data_reference_p, drs, i, dr); i++)
dr->aux = XNEW (base_alias_pair);
if (!build_alias_set_optimal_p (drs))
{
/* TODO: Add support when building alias set is not optimal. */
;
}
build_base_obj_set_for_drs (drs);
/* When debugging, enable the following code. This cannot be used
in production compilers. */
#if 0
{
char comment[100];
FILE *file_dimacs, *file_ecc, *file_dot;
file_dimacs = fopen ("/tmp/dr_alias_graph_dimacs", "ab");
file_ecc = fopen ("/tmp/dr_alias_graph_ecc", "ab");
file_dot = fopen ("/tmp/dr_alias_graph_dot", "ab");
if (file_dimacs)
{
snprintf (comment, sizeof (comment), "%s %s", main_input_filename,
......@@ -2068,6 +2041,8 @@ build_scop_drs (scop_p scop)
write_alias_graph_to_ascii_dimacs (file_dimacs, comment, drs);
fclose (file_dimacs);
}
file_ecc = fopen ("/tmp/dr_alias_graph_ecc", "ab");
if (file_ecc)
{
snprintf (comment, sizeof (comment), "%s %s", main_input_filename,
......@@ -2075,6 +2050,8 @@ build_scop_drs (scop_p scop)
write_alias_graph_to_ascii_ecc (file_ecc, comment, drs);
fclose (file_ecc);
}
file_dot = fopen ("/tmp/dr_alias_graph_dot", "ab");
if (file_dot)
{
snprintf (comment, sizeof (comment), "%s %s", main_input_filename,
......@@ -2082,8 +2059,38 @@ build_scop_drs (scop_p scop)
write_alias_graph_to_ascii_dot (file_dot, comment, drs);
fclose (file_dot);
}
}
/* Build data references in SCOP. */
static void
build_scop_drs (scop_p scop)
{
int i, j;
poly_bb_p pbb;
data_reference_p dr;
VEC (data_reference_p, heap) *drs = VEC_alloc (data_reference_p, heap, 3);
for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
for (j = 0; VEC_iterate (data_reference_p,
GBB_DATA_REFS (PBB_BLACK_BOX (pbb)), j, dr); j++)
VEC_safe_push (data_reference_p, heap, drs, dr);
for (i = 0; VEC_iterate (data_reference_p, drs, i, dr); i++)
dr->aux = XNEW (base_alias_pair);
if (!build_alias_set_optimal_p (drs))
{
/* TODO: Add support when building alias set is not optimal. */
;
}
#endif
build_base_obj_set_for_drs (drs);
/* When debugging, enable the following code. This cannot be used
in production compilers. */
if (0)
dump_alias_graphs (drs);
VEC_free (data_reference_p, heap, drs);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment