This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 2/3] remove unused struct base_alias_pair


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.

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
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]