diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2009-08-28 20:37:56 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2009-08-28 20:37:56 +0000 |
commit | d8eeb07816d4f83e6722b15a4bcba857dd7b5b88 (patch) | |
tree | b1813bee7a0fc870af191292a08b849f84e575fc /gcc | |
parent | e6dec0fbff65cb5e94f8c76dec9260484265ec7f (diff) | |
download | gcc-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/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/ChangeLog.graphite | 9 | ||||
-rw-r--r-- | gcc/graphite-dependences.c | 3 | ||||
-rw-r--r-- | gcc/graphite-poly.h | 28 |
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 |