From 040b0c97c4d2cccdc3f80f7ad81ceb88e6794744 Mon Sep 17 00:00:00 2001 From: Aditya Kumar Date: Wed, 16 Dec 2015 17:24:25 +0000 Subject: add more dumps on data dependence graph Co-Authored-By: Sebastian Pop From-SVN: r231703 --- gcc/ChangeLog | 10 ++++++++++ gcc/graphite-dependences.c | 31 +++++++++++++++++++++++++++---- gcc/graphite-poly.c | 15 ++++++++++++++- gcc/graphite-scop-detection.c | 21 ++++++++++++++++----- 4 files changed, 67 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef9db37..ee2af1d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2015-12-16 Aditya Kumar + Sebastian Pop + + * graphite-dependences.c (scop_get_reads): Add more dumps. + (scop_get_must_writes): Same. + (scop_get_may_writes): Same. + * graphite-poly.c (new_poly_dr): Same. + * graphite-scop-detection.c (build_cross_bb_scalars_def): Same. + (gather_bbs::before_dom_children): Same. + 2015-12-16 Kyrylo Tkachov * config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p): diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c index bb81ae3..7b7912a 100644 --- a/gcc/graphite-dependences.c +++ b/gcc/graphite-dependences.c @@ -89,8 +89,16 @@ scop_get_reads (scop_p scop, vec pbbs) if (pdr_read_p (pdr)) { if (dump_file) - print_pdr (dump_file, pdr); + { + fprintf (dump_file, "Adding read to depedence graph: "); + print_pdr (dump_file, pdr); + } res = isl_union_map_add_map (res, add_pdr_constraints (pdr, pbb)); + if (dump_file) + { + fprintf (dump_file, "Reads depedence graph: "); + print_isl_union_map (dump_file, res); + } } } @@ -114,8 +122,16 @@ scop_get_must_writes (scop_p scop, vec pbbs) if (pdr_write_p (pdr)) { if (dump_file) - print_pdr (dump_file, pdr); + { + fprintf (dump_file, "Adding must write to depedence graph: "); + print_pdr (dump_file, pdr); + } res = isl_union_map_add_map (res, add_pdr_constraints (pdr, pbb)); + if (dump_file) + { + fprintf (dump_file, "Must writes depedence graph: "); + print_isl_union_map (dump_file, res); + } } } @@ -139,9 +155,16 @@ scop_get_may_writes (scop_p scop, vec pbbs) if (pdr_may_write_p (pdr)) { if (dump_file) - print_pdr (dump_file, pdr); - + { + fprintf (dump_file, "Adding may write to depedence graph: "); + print_pdr (dump_file, pdr); + } res = isl_union_map_add_map (res, add_pdr_constraints (pdr, pbb)); + if (dump_file) + { + fprintf (dump_file, "May writes depedence graph: "); + print_isl_union_map (dump_file, res); + } } } diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c index f4bdd40..6c01a4c 100644 --- a/gcc/graphite-poly.c +++ b/gcc/graphite-poly.c @@ -31,13 +31,15 @@ along with GCC; see the file COPYING3. If not see #include "tree.h" #include "gimple.h" #include "cfghooks.h" -#include "gimple-pretty-print.h" #include "diagnostic-core.h" #include "fold-const.h" #include "gimple-iterator.h" #include "tree-ssa-loop.h" #include "cfgloop.h" #include "tree-data-ref.h" +#include "pretty-print.h" +#include "gimple-pretty-print.h" +#include "tree-dump.h" #include #include @@ -147,6 +149,17 @@ new_poly_dr (poly_bb_p pbb, gimple *stmt, enum poly_dr_type type, pdr->subscript_sizes = subscript_sizes; PDR_TYPE (pdr) = type; PBB_DRS (pbb).safe_push (pdr); + + if (dump_file) + { + fprintf (dump_file, "Converting dr: "); + print_pdr (dump_file, pdr); + fprintf (dump_file, "To polyhedral representation:\n"); + fprintf (dump_file, " - access functions: "); + print_isl_map (dump_file, acc); + fprintf (dump_file, " - subscripts: "); + print_isl_set (dump_file, subscript_sizes); + } } /* Free polyhedral data reference PDR. */ diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c index 51c9d3d..baff5d4 100644 --- a/gcc/graphite-scop-detection.c +++ b/gcc/graphite-scop-detection.c @@ -1684,9 +1684,9 @@ build_cross_bb_scalars_def (scop_p scop, tree def, basic_block def_bb, if (def_bb != gimple_bb (use_stmt) && !is_gimple_debug (use_stmt)) { writes->safe_push (def); - DEBUG_PRINT (dp << "Adding scalar write:\n"; + DEBUG_PRINT (dp << "Adding scalar write: "; print_generic_expr (dump_file, def, 0); - dp << "From stmt:\n"; + dp << "\nFrom stmt: "; print_gimple_stmt (dump_file, SSA_NAME_DEF_STMT (def), 0, 0)); /* This is required by the FOR_EACH_IMM_USE_STMT when we want to break @@ -1713,9 +1713,9 @@ build_cross_bb_scalars_use (scop_p scop, tree use, gimple *use_stmt, gimple *def_stmt = SSA_NAME_DEF_STMT (use); if (gimple_bb (def_stmt) != gimple_bb (use_stmt)) { - DEBUG_PRINT (dp << "Adding scalar read:"; + DEBUG_PRINT (dp << "Adding scalar read: "; print_generic_expr (dump_file, use, 0); - dp << "\nFrom stmt:"; + dp << "\nFrom stmt: "; print_gimple_stmt (dump_file, use_stmt, 0, 0)); reads->safe_push (std::make_pair (use_stmt, use)); } @@ -1879,7 +1879,18 @@ gather_bbs::before_dom_children (basic_block bb) int i; data_reference_p dr; FOR_EACH_VEC_ELT (gbb->data_refs, i, dr) - scop->drs.safe_push (dr_info (dr, pbb)); + { + DEBUG_PRINT (dp << "Adding memory "; + if (dr->is_read) + dp << "read: "; + else + dp << "write: "; + print_generic_expr (dump_file, dr->ref, 0); + dp << "\nFrom stmt: "; + print_gimple_stmt (dump_file, dr->stmt, 0, 0)); + + scop->drs.safe_push (dr_info (dr, pbb)); + } return NULL; } -- cgit v1.1