diff options
Diffstat (limited to 'gcc/graphite-dependences.h')
-rw-r--r-- | gcc/graphite-dependences.h | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/gcc/graphite-dependences.h b/gcc/graphite-dependences.h index ccf0b971b23..a668d1c1565 100644 --- a/gcc/graphite-dependences.h +++ b/gcc/graphite-dependences.h @@ -24,27 +24,32 @@ along with GCC; see the file COPYING3. If not see extern bool graphite_legal_transform (scop_p); extern bool dependency_between_pbbs_p (poly_bb_p, poly_bb_p, int); -typedef struct poly_dr_pair *poly_dr_pair_p; +enum poly_dependence_kind { + unknown_dependence, + no_dependence, + has_dependence +}; -typedef struct poly_dr_pair +typedef struct poly_ddr { - /* Source polyhedral data reference of the dependence. */ - poly_dr_p source; + /* Source and sink data references of the dependence. */ + poly_dr_p source, sink; - /* Sink data reference of the dependence. */ - poly_dr_p sink; - - /* Data dependence polyhedron descibing dependence - between SOURCE and SINK data references. */ + /* Data dependence polyhedron. */ ppl_Pointset_Powerset_C_Polyhedron_t ddp; -}poly_dr_pair; + enum poly_dependence_kind kind; + +} *poly_ddr_p; -#define PDRP_SOURCE(PDRP) (PDR->source) -#define PDRP_SINK(PDRP) (PDR->sink) -#define PDRP_DDP(PDRP) (PDR->ddp) +#define PDDR_SOURCE(PDDR) (PDDR->source) +#define PDDR_SINK(PDDR) (PDDR->sink) +#define PDDR_DDP(PDDR) (PDDR->ddp) +#define PDDR_KIND(PDDR) (PDDR->kind) -extern int eq_poly_dr_pair_p (const void *, const void *); -extern hashval_t hash_poly_dr_pair_p (const void *); +extern int eq_poly_ddr_p (const void *, const void *); +extern hashval_t hash_poly_ddr_p (const void *); +extern void free_poly_ddr (void *); +extern void dot_deps (scop_p); #endif |