From: Andreas Simbuerger Date: Wed, 11 Aug 2010 20:30:49 +0000 (+0000) Subject: Adapt to new CloogScattering abstraction, introduced in official CLooG versions ... X-Git-Tag: releases/gcc-4.6.0~5045 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1461761bf95367ca1577650c885b022e01c47c5f;p=thirdparty%2Fgcc.git Adapt to new CloogScattering abstraction, introduced in official CLooG versions (CLOOG_ORG). 2010-07-27 Andreas Simbuerger * graphite-clast-to-gimple.c (free_scattering): Change CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering (CLOOG_ORG). (build_cloog_prog): Same. * graphite-cloog-compat.h (cloog_domain): Removed. (cloog_scattering): New. (cloog_set_domain): Removed. (cloog_set_scattering): New. (cloog_next_domain): Removed. (cloog_next_scattering): New. (cloog_set_next_domain): Removed. (cloog_set_next_scattering): New. (CloogScatteringList): New. (CloogScattering): New. (cloog_scattering_free): New. (new_Cloog_Scattering_from_ppl_Polyhedron): New. * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron): New. From-SVN: r163165 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 37fba311e0a7..4a0e3a5f336e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,24 @@ +2010-08-02 Andreas Simbuerger + + * graphite-clast-to-gimple.c (free_scattering): Change + CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering + (CLOOG_ORG). + (build_cloog_prog): Same. + * graphite-cloog-compat.h (cloog_domain): Removed. + (cloog_scattering): New. + (cloog_set_domain): Removed. + (cloog_set_scattering): New. + (cloog_next_domain): Removed. + (cloog_next_scattering): New. + (cloog_set_next_domain): Removed. + (cloog_set_next_scattering): New. + (CloogScatteringList): New. + (CloogScattering): New. + (cloog_scattering_free): New. + (new_Cloog_Scattering_from_ppl_Polyhedron): New. + * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron): + New. + 2010-08-02 Andreas Simbuerger * graphite-clast-to-gimple.c (build_cloog_prog): Extend with diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index b5e53b52c154..4916f915256d 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,3 +1,24 @@ +2010-07-27 Andreas Simbuerger + + * graphite-clast-to-gimple.c (free_scattering): Change + CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering + (CLOOG_ORG). + (build_cloog_prog): Same. + * graphite-cloog-compat.h (cloog_domain): Removed. + (cloog_scattering): New. + (cloog_set_domain): Removed. + (cloog_set_scattering): New. + (cloog_next_domain): Removed. + (cloog_next_scattering): New. + (cloog_set_next_domain): Removed. + (cloog_set_next_scattering): New. + (CloogScatteringList): New. + (CloogScattering): New. + (cloog_scattering_free): New. + (new_Cloog_Scattering_from_ppl_Polyhedron): New. + * graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron): + New. + 2010-07-27 Andreas Simbuerger * graphite-clast-to-gimple.c (build_cloog_prog): Extend with diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index 11867cfaf142..138c0df541e7 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -1127,14 +1127,14 @@ translate_clast (sese region, loop_p context_loop, struct clast_stmt *stmt, /* Free the SCATTERING domain list. */ static void -free_scattering (CloogDomainList *scattering) +free_scattering (CloogScatteringList *scattering) { while (scattering) { - CloogDomain *dom = cloog_domain (scattering); - CloogDomainList *next = cloog_next_domain (scattering); + CloogScattering *dom = cloog_scattering (scattering); + CloogScatteringList *next = cloog_next_scattering (scattering); - cloog_domain_free (dom); + cloog_scattering_free (dom); free (scattering); scattering = next; } @@ -1212,7 +1212,7 @@ build_cloog_prog (scop_p scop, CloogProgram *prog, poly_bb_p pbb; CloogLoop *loop_list = NULL; CloogBlockList *block_list = NULL; - CloogDomainList *scattering = NULL; + CloogScatteringList *scattering = NULL; int nbs = 2 * max_nb_loops + 1; int *scaldims; @@ -1264,17 +1264,18 @@ build_cloog_prog (scop_p scop, CloogProgram *prog, /* Build scattering list. */ { /* XXX: Replace with cloog_domain_list_alloc(), when available. */ - CloogDomainList *new_scattering - = (CloogDomainList *) xmalloc (sizeof (CloogDomainList)); + CloogScatteringList *new_scattering + = (CloogScatteringList *) xmalloc (sizeof (CloogScatteringList)); ppl_Polyhedron_t scat; - CloogDomain *dom; + CloogScattering *dom; scat = PBB_TRANSFORMED_SCATTERING (pbb); - dom = new_Cloog_Domain_from_ppl_Polyhedron (scat, scop_nb_params (scop), - state); + dom = new_Cloog_Scattering_from_ppl_Polyhedron + (scat, scop_nb_params (scop), pbb_nb_scattering_transform (pbb), + state); - cloog_set_next_domain (new_scattering, scattering); - cloog_set_domain (new_scattering, dom); + cloog_set_next_scattering (new_scattering, scattering); + cloog_set_scattering (new_scattering, dom); scattering = new_scattering; } } diff --git a/gcc/graphite-cloog-compat.h b/gcc/graphite-cloog-compat.h index f27ee5a12289..56b6bb382cd4 100644 --- a/gcc/graphite-cloog-compat.h +++ b/gcc/graphite-cloog-compat.h @@ -58,6 +58,16 @@ typedef const char *clast_name_p; new_Cloog_Domain_from_ppl_Polyhedron (POLY) #define cloog_domain_from_cloog_matrix(STATE, MAT, NB)\ cloog_domain_matrix2domain (MAT) + +/* CloogScatteringList compatibility. */ +#define CloogScatteringList CloogDomainList +#define CloogScattering CloogDomain +#define cloog_set_next_scattering cloog_set_next_domain +#define cloog_set_scattering cloog_set_domain +#define cloog_scattering cloog_domain +#define cloog_next_scattering cloog_next_domain +#define cloog_scattering_free cloog_domain_free + #endif /* Adapt CLooG accessors from CLooG legacy to @@ -71,28 +81,28 @@ cloog_statement_usr (CloogStatement *cs) return cs->usr; } -static inline CloogDomain * -cloog_domain (CloogDomainList *dl) +static inline CloogScattering * +cloog_scattering (CloogScatteringList *sl) { - return dl->domain; + return sl->scatt; } static inline void -cloog_set_domain (CloogDomainList *dl, CloogDomain *domain) +cloog_set_scattering (CloogScatteringList *sl, CloogScattering *scatt) { - dl->domain = domain; + sl->scatt = scatt; } -static inline CloogDomainList * -cloog_next_domain (CloogDomainList *dl) +static inline CloogScatteringList * +cloog_next_scattering (CloogScatteringList *sl) { - return dl->next; + return sl->next; } static inline void -cloog_set_next_domain (CloogDomainList *dl, CloogDomainList *next) +cloog_set_next_scattering (CloogScatteringList *sl, CloogScatteringList *next) { - dl->next = next; + sl->next = next; } static inline int diff --git a/gcc/graphite-cloog-util.c b/gcc/graphite-cloog-util.c index 500443fd5369..17704580bc0f 100644 --- a/gcc/graphite-cloog-util.c +++ b/gcc/graphite-cloog-util.c @@ -238,6 +238,27 @@ new_Cloog_Domain_from_ppl_Polyhedron (ppl_const_Polyhedron_t ph, int nb_params, return res; } +/* Create a CloogScattering from polyhedron PH. */ + +CloogScattering * +new_Cloog_Scattering_from_ppl_Polyhedron (ppl_const_Polyhedron_t ph, + int nb_params ATTRIBUTE_UNUSED, + int nb_scatt ATTRIBUTE_UNUSED, + CloogState *state ATTRIBUTE_UNUSED) +{ +#ifdef CLOOG_ORG + CloogMatrix *mat = new_Cloog_Matrix_from_ppl_Polyhedron (ph); + CloogScattering *res = cloog_scattering_from_cloog_matrix (state, mat, + nb_scatt, + nb_params); + + cloog_matrix_free (mat); + return res; +#else + return new_Cloog_Domain_from_ppl_Polyhedron (ph, nb_params, state); +#endif +} + /* Creates a CloogDomain from a pointset powerset PS. */ CloogDomain * diff --git a/gcc/graphite-cloog-util.h b/gcc/graphite-cloog-util.h index eaa48f33f679..d7758ce197d6 100644 --- a/gcc/graphite-cloog-util.h +++ b/gcc/graphite-cloog-util.h @@ -27,6 +27,8 @@ along with GCC; see the file COPYING3. If not see CloogMatrix *new_Cloog_Matrix_from_ppl_Polyhedron (ppl_const_Polyhedron_t); CloogDomain *new_Cloog_Domain_from_ppl_Polyhedron (ppl_const_Polyhedron_t, int, CloogState *); +CloogScattering *new_Cloog_Scattering_from_ppl_Polyhedron + (ppl_const_Polyhedron_t, int, int, CloogState *); CloogDomain * new_Cloog_Domain_from_ppl_Pointset_Powerset (ppl_Pointset_Powerset_C_Polyhedron_t, int, CloogState *); void new_C_Polyhedron_from_Cloog_Matrix (ppl_Polyhedron_t *, CloogMatrix *);