add more dumps on data dependence graph
authorAditya Kumar <aditya.k7@samsung.com>
Wed, 16 Dec 2015 17:24:25 +0000 (17:24 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Wed, 16 Dec 2015 17:24:25 +0000 (17:24 +0000)
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r231703

gcc/ChangeLog
gcc/graphite-dependences.c
gcc/graphite-poly.c
gcc/graphite-scop-detection.c

index ef9db370a1588a79c103f1db891ca3914cb498f6..ee2af1db9fb8adef9ad9d3851d2d1f7a98f30fa1 100644 (file)
@@ -1,3 +1,13 @@
+2015-12-16  Aditya Kumar  <aditya.k7@samsung.com>
+           Sebastian Pop  <s.pop@samsung.com>
+
+       * 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  <kyrylo.tkachov@arm.com>
 
        * config/aarch64/aarch64.c (aarch64_extend_bitfield_pattern_p):
index bb81ae3ebaa159ed3c433f3eccdb13e2bce1b49c..7b7912ac503727c878637f31905a4de2fbc6f608 100644 (file)
@@ -89,8 +89,16 @@ scop_get_reads (scop_p scop, vec<poly_bb_p> 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<poly_bb_p> 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<poly_bb_p> 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);
+             }
          }
     }
 
index f4bdd40187775693ce81eb99e78228bada74739e..6c01a4c1bb1b83b7834a745e5034a61a15e60057 100644 (file)
@@ -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 <isl/constraint.h>
 #include <isl/set.h>
@@ -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.  */
index 51c9d3d66a2ed4238cb19aed28fffeebd7d8761c..baff5d46874791fc7603078285a6631c84267c86 100644 (file)
@@ -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;
 }