summaryrefslogtreecommitdiff
path: root/gcc/graphite-dependences.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/graphite-dependences.h')
-rw-r--r--gcc/graphite-dependences.h35
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