diff options
author | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-28 20:40:59 +0000 |
---|---|---|
committer | spop <spop@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-28 20:40:59 +0000 |
commit | 11b2102e59b93c1ed672c312d6f40ecc7382d3db (patch) | |
tree | f4bc77546493208666cd3b4afa7a90ecb6195f6a /gcc/graphite-poly.h | |
parent | d0aaf3990d011abe5d7c65905f240a60d2fdccb6 (diff) | |
download | gcc-11b2102e59b93c1ed672c312d6f40ecc7382d3db.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151191 138bc75d-0d04-0410-961f-82ee72b054a4
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 10831afde8e..8f7352a5efb 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); |