summaryrefslogtreecommitdiff
path: root/gcc/graphite-dependences.h
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-28 20:27:56 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-28 20:27:56 +0000
commit0d6b5db285fd1408d1a0c512b1155b8fccb33f2a (patch)
treedf2d090c75d20d70405ace514e4c3a6184439f11 /gcc/graphite-dependences.h
parent02df46c6eba553dd078478514ec27e03209277f0 (diff)
downloadgcc-0d6b5db285fd1408d1a0c512b1155b8fccb33f2a.tar.gz
2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (new_poly_dr_pair): Renamed new_poly_ddr. (eq_poly_dr_pair_p): Renamed eq_poly_ddr_p. (hash_poly_dr_pair_p): Renamed hash_poly_ddr_p. (free_poly_ddr): New. (pddr_is_empty): New. (dependence_polyhedron_1): Now returns a poly_ddr_p. (dependence_polyhedron): Same. Remove useless gcc_assert. Remove fprintfs. (graphite_legal_transform_dr): Call pddr_is_empty and free_poly_ddr. (graphite_carried_dependence_level_k): Call pddr_is_empty. * graphite-dependences.h (enum poly_dependence_kind): New. (poly_dr_pair): Renamed poly_ddr. Added a field kind. (PDRP_SOURCE): Renamed PDDR_SOURCE. (PDRP_SINK): Renamed PDDR_SINK. (PDRP_DDP): Renamed PDDR_DDP. (PDDR_KIND): New. (free_poly_ddr): Declared. * graphite-poly.c (new_scop): Use the new hash function names. * graphite-poly.h (struct scop): Renamed field original_pdr_pairs into original_pddrs. (SCOP_ORIGINAL_PDR_PAIRS): Renamed SCOP_ORIGINAL_PDDRS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151181 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-dependences.h')
-rw-r--r--gcc/graphite-dependences.h34
1 files changed, 19 insertions, 15 deletions
diff --git a/gcc/graphite-dependences.h b/gcc/graphite-dependences.h
index ccf0b971b23..267d80ba9dd 100644
--- a/gcc/graphite-dependences.h
+++ b/gcc/graphite-dependences.h
@@ -24,27 +24,31 @@ 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 *);
#endif