2015-10-07 Aditya Kumar <aditya...@samsung.com> Sebastian Pop <s....@samsung.com>
* graphite-dependences.c (scop_get_dependences): Add dump of the data dependence graph. * graphite-poly.c (print_isl_union_map): New. (debug_isl_union_map): New. * graphite-poly.h (print_isl_union_map): Declare. (debug_isl_union_map): Declare. --- gcc/graphite-dependences.c | 7 +++++++ gcc/graphite-poly.c | 16 ++++++++++++++++ gcc/graphite-poly.h | 2 ++ 3 files changed, 25 insertions(+) diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c index e879429..aef29ac 100644 --- a/gcc/graphite-dependences.c +++ b/gcc/graphite-dependences.c @@ -355,6 +355,13 @@ scop_get_dependences (scop_p scop) dependences = isl_union_map_union (dependences, isl_union_map_copy (scop->may_waw)); + if (dump_file) + { + fprintf (dump_file, "data dependences (\n"); + print_isl_union_map (dump_file, dependences); + fprintf (dump_file, ")\n"); + } + return dependences; } diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c index c3a14c7..0d1dc63 100644 --- a/gcc/graphite-poly.c +++ b/gcc/graphite-poly.c @@ -595,6 +595,22 @@ debug_isl_map (isl_map *map) } void +print_isl_union_map (FILE *f, isl_union_map *map) +{ + isl_printer *p = isl_printer_to_file (the_isl_ctx, f); + p = isl_printer_print_union_map (p, map); + p = isl_printer_print_str (p, "\n"); + isl_printer_free (p); +} + +DEBUG_FUNCTION void +debug_isl_union_map (isl_union_map *map) +{ + print_isl_union_map (stderr, map); +} + + +void print_isl_aff (FILE *f, isl_aff *aff) { isl_printer *p = isl_printer_to_file (the_isl_ctx, f); diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h index 6b97b71..63fdb3b 100644 --- a/gcc/graphite-poly.h +++ b/gcc/graphite-poly.h @@ -298,10 +298,12 @@ extern void debug_iteration_domain (poly_bb_p); extern void debug_iteration_domains (scop_p); extern void print_isl_set (FILE *, isl_set *); extern void print_isl_map (FILE *, isl_map *); +extern void print_isl_union_map (FILE *, isl_union_map *); extern void print_isl_aff (FILE *, isl_aff *); extern void print_isl_constraint (FILE *, isl_constraint *); extern void debug_isl_set (isl_set *); extern void debug_isl_map (isl_map *); +extern void debug_isl_union_map (isl_union_map *); extern void debug_isl_aff (isl_aff *); extern void debug_isl_constraint (isl_constraint *); extern int scop_do_interchange (scop_p); -- 1.9.1