[PATCH 2/3] remove unused struct base_alias_pair

Sebastian Pop sebpop@gmail.com
Wed Oct 7 13:32:00 GMT 2015


On Wed, Oct 7, 2015 at 3:11 AM, Richard Biener
<richard.guenther@gmail.com> wrote:
> On Tue, Oct 6, 2015 at 10:45 PM, Sebastian Pop <s.pop@samsung.com> wrote:
>> 2015-10-06  Aditya Kumar  <aditya.k7@samsung.com>
>>                 Sebastian Pop  <s.pop@samsung.com>
>>
>>                 * graphite-poly.c (free_data_refs_aux): Remove.
>>                 (free_gimple_poly_bb): Do not call free_data_refs_aux.
>>                 * graphite-poly.h (struct base_alias_pair): Remove.
>>                 * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of
>>                 base_alias_pair and dr->aux.
>>                 (build_alias_set): Same.
>>                 * tree-data-ref.c (create_data_ref): Initialize alias_set.
>>                 * tree-data-ref.h (data_reference): Add alias_set.
>
> Err - this doesn't seem to be an "alias set" in the GCC sense as it doesn't use
> alias_set_type?  I find that mildly confusing.  Please use dr->aux to
> attach pass
> specific info rather than enlarging data-ref with this kind of random data.

This was a transient state: we remove this field in the next patch. We
were thinking to squash the two patches to avoid the distraction of
adding this field, and in the end we opted to keep the patches
separate.

Sebastian

>
> Thanks,
> Richard.
>
>> ---
>>  gcc/graphite-poly.c         | 18 ------------------
>>  gcc/graphite-poly.h         |  6 ------
>>  gcc/graphite-sese-to-poly.c | 29 ++++-------------------------
>>  gcc/tree-data-ref.c         |  1 +
>>  gcc/tree-data-ref.h         |  3 +++
>>  5 files changed, 8 insertions(+), 49 deletions(-)
>>
>> diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
>> index 7de0e81..52d0765 100644
>> --- a/gcc/graphite-poly.c
>> +++ b/gcc/graphite-poly.c
>> @@ -273,29 +273,11 @@ new_gimple_poly_bb (basic_block bb, vec<data_reference_p> drs)
>>    return gbb;
>>  }
>>
>> -static void
>> -free_data_refs_aux (vec<data_reference_p> datarefs)
>> -{
>> -  unsigned int i;
>> -  data_reference_p dr;
>> -
>> -  FOR_EACH_VEC_ELT (datarefs, i, dr)
>> -    if (dr->aux)
>> -      {
>> -       base_alias_pair_p bap = (base_alias_pair_p)(dr->aux);
>> -
>> -       free (bap->alias_set);
>> -
>> -       free (bap);
>> -       dr->aux = NULL;
>> -      }
>> -}
>>  /* Frees GBB.  */
>>
>>  void
>>  free_gimple_poly_bb (gimple_poly_bb_p gbb)
>>  {
>> -  free_data_refs_aux (GBB_DATA_REFS (gbb));
>>    free_data_refs (GBB_DATA_REFS (gbb));
>>
>>    GBB_CONDITIONS (gbb).release ();
>> diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
>> index 3c4353d..418af6e 100644
>> --- a/gcc/graphite-poly.h
>> +++ b/gcc/graphite-poly.h
>> @@ -417,12 +417,6 @@ struct scop
>>  #define SCOP_CONTEXT(S) (NULL)
>>  #define POLY_SCOP_P(S) (S->poly_scop_p)
>>
>> -typedef struct base_alias_pair
>> -{
>> -  int base_obj_set;
>> -  int *alias_set;
>> -} *base_alias_pair_p;
>> -
>>  extern scop_p new_scop (edge, edge);
>>  extern void free_scop (scop_p);
>>  extern gimple_poly_bb_p new_gimple_poly_bb (basic_block, vec<data_reference_p>);
>> diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
>> index 235c911..40b598d 100644
>> --- a/gcc/graphite-sese-to-poly.c
>> +++ b/gcc/graphite-sese-to-poly.c
>> @@ -932,16 +932,9 @@ build_scop_iteration_domain (scop_p scop)
>>  static isl_map *
>>  pdr_add_alias_set (isl_map *acc, data_reference_p dr)
>>  {
>> -  isl_constraint *c;
>> -  int alias_set_num = 0;
>> -  base_alias_pair *bap = (base_alias_pair *)(dr->aux);
>> -
>> -  if (bap && bap->alias_set)
>> -    alias_set_num = *(bap->alias_set);
>> -
>> -  c = isl_equality_alloc
>> +  isl_constraint *c = isl_equality_alloc
>>        (isl_local_space_from_space (isl_map_get_space (acc)));
>> -  c = isl_constraint_set_constant_si (c, -alias_set_num);
>> +  c = isl_constraint_set_constant_si (c, -dr->alias_set);
>>    c = isl_constraint_set_coefficient_si (c, isl_dim_out, 0, 1);
>>
>>    return isl_map_add_constraint (acc, c);
>> @@ -1086,11 +1079,7 @@ build_poly_dr (data_reference_p dr, poly_bb_p pbb)
>>      isl_id *id = isl_id_for_dr (scop, dr);
>>      int nb = 1 + DR_NUM_DIMENSIONS (dr);
>>      isl_space *space = isl_space_set_alloc (scop->isl_context, 0, nb);
>> -    int alias_set_num = 0;
>> -    base_alias_pair *bap = (base_alias_pair *)(dr->aux);
>> -
>> -    if (bap && bap->alias_set)
>> -      alias_set_num = *(bap->alias_set);
>> +    int alias_set_num = dr->alias_set;
>>
>>      space = isl_space_set_tuple_id (space, isl_dim_set, id);
>>      subscript_sizes = isl_set_nat_universe (space);
>> @@ -1130,18 +1119,8 @@ build_alias_set (vec<data_reference_p> drs)
>>    graphds_dfs (g, all_vertices, num_vertices, NULL, true, NULL);
>>    free (all_vertices);
>>
>> -  data_reference_p dr;
>> -  FOR_EACH_VEC_ELT (drs, i, dr)
>> -    dr->aux = XNEW (base_alias_pair);
>> -
>>    for (i = 0; i < g->n_vertices; i++)
>> -    {
>> -      data_reference_p dr = drs[i];
>> -      base_alias_pair *bap = (base_alias_pair *)(dr->aux);
>> -      bap->alias_set = XNEW (int);
>> -      int c = g->vertices[i].component + 1;
>> -      *(bap->alias_set) = c;
>> -    }
>> +    drs[i]->alias_set = g->vertices[i].component + 1;
>>
>>    free_graph (g);
>>  }
>> diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c
>> index e7087d7..0ffa1db 100644
>> --- a/gcc/tree-data-ref.c
>> +++ b/gcc/tree-data-ref.c
>> @@ -1080,6 +1080,7 @@ create_data_ref (loop_p nest, loop_p loop, tree memref, gimple *stmt,
>>    DR_STMT (dr) = stmt;
>>    DR_REF (dr) = memref;
>>    DR_IS_READ (dr) = is_read;
>> +  dr->alias_set = 0;
>>
>>    dr_analyze_innermost (dr, nest);
>>    dr_analyze_indices (dr, nest, loop);
>> diff --git a/gcc/tree-data-ref.h b/gcc/tree-data-ref.h
>> index 4c9e357..e6f82ff 100644
>> --- a/gcc/tree-data-ref.h
>> +++ b/gcc/tree-data-ref.h
>> @@ -127,6 +127,9 @@ struct data_reference
>>
>>    /* Alias information for the data reference.  */
>>    struct dr_alias alias;
>> +
>> +  /* The alias set for this data reference.  */
>> +  int alias_set;
>>  };
>>
>>  #define DR_STMT(DR)                (DR)->stmt
>> --
>> 1.9.1
>>



More information about the Gcc-patches mailing list