There's special-casing for equal access functions which bypasses
printing the distance vectors.  The following makes sure we print
them always which helps debugging.

Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.

        * tree-data-ref.cc (build_classic_dist_vector): Move
        distance vector dumping to single caller ...
        (subscript_dependence_tester): ... here, dumping always
        when we succeed computing it.
---
 gcc/tree-data-ref.cc | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/gcc/tree-data-ref.cc b/gcc/tree-data-ref.cc
index 26e6d9a5657..0f173e8803a 100644
--- a/gcc/tree-data-ref.cc
+++ b/gcc/tree-data-ref.cc
@@ -5547,21 +5547,6 @@ build_classic_dist_vector (struct 
data_dependence_relation *ddr,
                                                   DDR_NB_LOOPS (ddr), 0));
     }
 
-  if (dump_file && (dump_flags & TDF_DETAILS))
-    {
-      unsigned i;
-
-      fprintf (dump_file, "(build_classic_dist_vector\n");
-      for (i = 0; i < DDR_NUM_DIST_VECTS (ddr); i++)
-       {
-         fprintf (dump_file, "  dist_vector = (");
-         print_lambda_vector (dump_file, DDR_DIST_VECT (ddr, i),
-                              DDR_NB_LOOPS (ddr));
-         fprintf (dump_file, "  )\n");
-       }
-      fprintf (dump_file, ")\n");
-    }
-
   return true;
 }
 
@@ -5673,7 +5658,24 @@ subscript_dependence_tester (struct 
data_dependence_relation *ddr,
 
   compute_subscript_distance (ddr);
   if (build_classic_dist_vector (ddr, loop_nest))
-    build_classic_dir_vector (ddr);
+    {
+      if (dump_file && (dump_flags & TDF_DETAILS))
+       {
+         unsigned i;
+
+         fprintf (dump_file, "(build_classic_dist_vector\n");
+         for (i = 0; i < DDR_NUM_DIST_VECTS (ddr); i++)
+           {
+             fprintf (dump_file, "  dist_vector = (");
+             print_lambda_vector (dump_file, DDR_DIST_VECT (ddr, i),
+                                  DDR_NB_LOOPS (ddr));
+             fprintf (dump_file, "  )\n");
+           }
+         fprintf (dump_file, ")\n");
+       }
+
+      build_classic_dir_vector (ddr);
+    }
 }
 
 /* Returns true when all the access functions of A are affine or
-- 
2.43.0

Reply via email to