summaryrefslogtreecommitdiff
path: root/gcc/graphite-poly.h
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-28 20:40:59 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-28 20:40:59 +0000
commit11b2102e59b93c1ed672c312d6f40ecc7382d3db (patch)
treef4bc77546493208666cd3b4afa7a90ecb6195f6a /gcc/graphite-poly.h
parentd0aaf3990d011abe5d7c65905f240a60d2fdccb6 (diff)
downloadgcc-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.h6
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);