Commit d8eeb078 by Sebastian Pop Committed by Sebastian Pop

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
parent e6dec0fb
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.
......
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.
......
......@@ -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,
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment