...since it was only ever zero in practice.  I wondered about making
it a symbolic constant instead, but it didn't seem worth it when
there was only one user (and that user was part of the internal
tree-data-ref.c implementation).

Tested on aarch64-linux-gnu.  OK to install?

Richard


2019-04-29  Richard Sandiford  <richard.sandif...@arm.com>

gcc/
        * tree-data-ref.h (data_dependence_relation::inner_loop): Delete.
        (DDR_INNER_LOOP): Likewise.
        * tree-data-ref.c (dump_data_dependence_relation): Update accordingly.
        (initialize_data_dependence_relation): Likewise.
        (insert_innermost_unit_dist_vector): Use 0 instead of DDR_INNER_LOOP.

Index: gcc/tree-data-ref.h
===================================================================
--- gcc/tree-data-ref.h 2019-04-08 21:55:28.062370229 +0100
+++ gcc/tree-data-ref.h 2019-04-29 14:37:00.562885087 +0100
@@ -347,10 +347,6 @@ struct data_dependence_relation
   /* The classic distance vector.  */
   vec<lambda_vector> dist_vects;
 
-  /* An index in loop_nest for the innermost loop that varies for
-     this data dependence relation.  */
-  unsigned inner_loop;
-
   /* Is the dependence reversed with respect to the lexicographic order?  */
   bool reversed_p;
 
@@ -406,7 +402,6 @@ #define DDR_LOOP_NEST(DDR) (DDR)->loop_n
 /* The size of the direction/distance vectors: the number of loops in
    the loop nest.  */
 #define DDR_NB_LOOPS(DDR) (DDR_LOOP_NEST (DDR).length ())
-#define DDR_INNER_LOOP(DDR) (DDR)->inner_loop
 #define DDR_SELF_REFERENCE(DDR) (DDR)->self_reference_p
 
 #define DDR_DIST_VECTS(DDR) ((DDR)->dist_vects)
Index: gcc/tree-data-ref.c
===================================================================
--- gcc/tree-data-ref.c 2019-04-23 09:21:46.866206044 +0100
+++ gcc/tree-data-ref.c 2019-04-29 14:37:00.562885087 +0100
@@ -460,7 +460,6 @@ dump_data_dependence_relation (FILE *out
          dump_subscript (outf, sub);
        }
 
-      fprintf (outf, "  inner loop index: %d\n", DDR_INNER_LOOP (ddr));
       fprintf (outf, "  loop nest: (");
       FOR_EACH_VEC_ELT (DDR_LOOP_NEST (ddr), i, loopi)
        fprintf (outf, "%d ", loopi->num);
@@ -2643,7 +2642,6 @@ initialize_data_dependence_relation (str
   DDR_ARE_DEPENDENT (res) = NULL_TREE;
   DDR_SUBSCRIPTS (res).create (full_seq.length);
   DDR_LOOP_NEST (res) = loop_nest;
-  DDR_INNER_LOOP (res) = 0;
   DDR_SELF_REFERENCE (res) = false;
 
   for (i = 0; i < full_seq.length; ++i)
@@ -4478,7 +4476,7 @@ insert_innermost_unit_dist_vector (struc
 {
   lambda_vector dist_v = lambda_vector_new (DDR_NB_LOOPS (ddr));
 
-  dist_v[DDR_INNER_LOOP (ddr)] = 1;
+  dist_v[0] = 1;
   save_dist_v (ddr, dist_v);
 }
 

Reply via email to