...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); }