aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-08-28 20:37:56 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-08-28 20:37:56 +0000
commitd8eeb07816d4f83e6722b15a4bcba857dd7b5b88 (patch)
treeb1813bee7a0fc870af191292a08b849f84e575fc /gcc
parente6dec0fbff65cb5e94f8c76dec9260484265ec7f (diff)
downloadgcc-d8eeb07816d4f83e6722b15a4bcba857dd7b5b88.zip
gcc-d8eeb07816d4f83e6722b15a4bcba857dd7b5b88.tar.gz
gcc-d8eeb07816d4f83e6722b15a4bcba857dd7b5b88.tar.bz2
graphite-dependences.c (pddr_original_scattering): Return NULL for read-read dependence relations.
2009-08-28 Sebastian Pop <sebastian.pop@amd.com> * graphite-dependences.c (pddr_original_scattering): Return NULL for read-read dependence relations. * graphite-poly.h (enum poly_dr_type): Fix comment. (pdr_read_p): New. (pdr_write_p): New. (pdr_may_write_p): New. From-SVN: r151189
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/ChangeLog.graphite9
-rw-r--r--gcc/graphite-dependences.c3
-rw-r--r--gcc/graphite-poly.h28
4 files changed, 46 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0a78def..ce730ca 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
+ * graphite-dependences.c (pddr_original_scattering): Return NULL
+ for read-read dependence relations.
+ * graphite-poly.h (enum poly_dr_type): Fix comment.
+ (pdr_read_p): New.
+ (pdr_write_p): New.
+ (pdr_may_write_p): New.
+
+2009-08-28 Sebastian Pop <sebastian.pop@amd.com>
+
* graphite-poly.h (enum POLY_DR_TYPE): Renamed poly_dr_type.
(struct poly_dr): Same.
(new_poly_dr): Same.
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index d3dfbfc..35a11ca 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,5 +1,14 @@
2009-08-25 Sebastian Pop <sebastian.pop@amd.com>
+ * graphite-dependences.c (pddr_original_scattering): Return NULL
+ for read-read dependence relations.
+ * graphite-poly.h (enum poly_dr_type): Fix comment.
+ (pdr_read_p): New.
+ (pdr_write_p): New.
+ (pdr_may_write_p): New.
+
+2009-08-25 Sebastian Pop <sebastian.pop@amd.com>
+
* graphite-poly.h (enum POLY_DR_TYPE): Renamed poly_dr_type.
(struct poly_dr): Same.
(new_poly_dr): Same.
diff --git a/gcc/graphite-dependences.c b/gcc/graphite-dependences.c
index 2a3c808..4dfe692 100644
--- a/gcc/graphite-dependences.c
+++ b/gcc/graphite-dependences.c
@@ -507,7 +507,8 @@ pddr_original_scattering (poly_bb_p pbb1, poly_bb_p pbb2,
ppl_Polyhedron_t so1 = PBB_ORIGINAL_SCATTERING (pbb1);
ppl_Polyhedron_t so2 = PBB_ORIGINAL_SCATTERING (pbb2);
- if (PDR_NB_SUBSCRIPTS (pdr1) != PDR_NB_SUBSCRIPTS (pdr2))
+ if (PDR_NB_SUBSCRIPTS (pdr1) != PDR_NB_SUBSCRIPTS (pdr2)
+ || (pdr_read_p (pdr1) && pdr_read_p (pdr2)))
return NULL;
pddr = dependence_polyhedron (pbb1, pbb2, d1, d2, pdr1, pdr2, so1, so2,
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
index 394394b..10831af 100644
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -45,8 +45,8 @@ static inline graphite_dim_t scop_nb_params (scop_p);
enum poly_dr_type
{
PDR_READ,
- /* PDR_MAY_READs are represented using PDR_READS. This does not limit the
- expressiveness. */
+ /* PDR_MAY_READs are represented using PDR_READS. This does not
+ limit the expressiveness. */
PDR_WRITE,
PDR_MAY_WRITE
};
@@ -215,6 +215,30 @@ pdr_parameter_dim (poly_dr_p pdr, graphite_dim_t param)
return pbb_dim_iter_domain (pbb) + param;
}
+/* Returns true when PDR is a "read". */
+
+static inline bool
+pdr_read_p (poly_dr_p pdr)
+{
+ return PDR_TYPE (pdr) == PDR_READ;
+}
+
+/* Returns true when PDR is a "write". */
+
+static inline bool
+pdr_write_p (poly_dr_p pdr)
+{
+ return PDR_TYPE (pdr) == PDR_WRITE;
+}
+
+/* Returns true when PDR is a "may write". */
+
+static inline bool
+pdr_may_write_p (poly_dr_p pdr)
+{
+ return PDR_TYPE (pdr) == PDR_MAY_WRITE;
+}
+
typedef struct poly_scattering *poly_scattering_p;
struct poly_scattering