+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.
+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.
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,
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
};
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