diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2009-08-28 20:40:59 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2009-08-28 20:40:59 +0000 |
commit | 7bd2a8a7ef778f7425121974cea4204a11c24388 (patch) | |
tree | f4bc77546493208666cd3b4afa7a90ecb6195f6a /gcc/graphite-poly.h | |
parent | 93b2db87bba9552a502db78e9e9bcd67b5687c98 (diff) | |
download | gcc-7bd2a8a7ef778f7425121974cea4204a11c24388.zip gcc-7bd2a8a7ef778f7425121974cea4204a11c24388.tar.gz gcc-7bd2a8a7ef778f7425121974cea4204a11c24388.tar.bz2 |
graphite-interchange.c (pbb_interchange_profitable_p): Adjust the strides by multiplying by PDR_NB_REFS.
2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (pbb_interchange_profitable_p): Adjust
the strides by multiplying by PDR_NB_REFS.
* graphite-poly.c (can_collapse_pdr): New.
(pdr_find_duplicate): New.
(new_poly_dr): Call pdr_find_duplicate. Collapse duplicate PDRs.
Initialize PDR_NB_REFS.
* graphite-poly.h (struct poly_dr): Add field nb_refs.
(PDR_NB_REFS): New.
(new_poly_dr): Number of subscripts is a graphite_dim_t.
From-SVN: r151191
Diffstat (limited to 'gcc/graphite-poly.h')
-rw-r--r-- | gcc/graphite-poly.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h index 10831af..8f7352a 100644 --- a/gcc/graphite-poly.h +++ b/gcc/graphite-poly.h @@ -56,6 +56,9 @@ struct poly_dr /* An identifier for this PDR. */ int id; + /* The number of data refs identical to this one in the PBB. */ + int nb_refs; + /* A pointer to compiler's data reference description. */ void *compiler_dr; @@ -137,6 +140,7 @@ struct poly_dr }; #define PDR_ID(PDR) (PDR->id) +#define PDR_NB_REFS(PDR) (PDR->nb_refs) #define PDR_CDR(PDR) (PDR->compiler_dr) #define PDR_PBB(PDR) (PDR->pbb) #define PDR_TYPE(PDR) (PDR->type) @@ -144,7 +148,7 @@ struct poly_dr #define PDR_NB_SUBSCRIPTS(PDR) (PDR->nb_subscripts) void new_poly_dr (poly_bb_p, ppl_Pointset_Powerset_C_Polyhedron_t, - enum poly_dr_type, void *, int); + enum poly_dr_type, void *, graphite_dim_t); void free_poly_dr (poly_dr_p); void debug_pdr (poly_dr_p); void print_pdr (FILE *, poly_dr_p); |