From a5aa487c387500196127ea659c1b757cc1e2c727 Mon Sep 17 00:00:00 2001 From: spop Date: Tue, 27 Jul 2010 22:25:55 +0000 Subject: [PATCH] Adapt to new CLAST structure within upstream CLooG version and retain compatibility to CLooG Legacy. 2010-07-27 Andreas Simbuerger * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter type of NAME now depends on used CLooG version. (clast_to_gcc_expression): Replace expr_* with clast_expr_*. (gcc_type_for_clast_expr): Same. (print_clast_stmt): Replace pprint with clast_pprint. * graphite-cloog-compat.h: Provide compatibility macros for CLooG Legacy. (clast_name_p): New. (clast_expr_term): New. (clast_expr_red): New. (clast_expr_bin): New. (clast_pprint): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/graphite@162606 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.graphite | 15 +++++++++++++++ gcc/graphite-clast-to-gimple.c | 28 +++++++++++++++++----------- gcc/graphite-cloog-compat.h | 12 ++++++++++++ 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index 18fdc6a5f98..55b0d9df83c 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,5 +1,20 @@ 2010-07-27 Andreas Simbuerger + * graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter + type of NAME now depends on used CLooG version. + (clast_to_gcc_expression): Replace expr_* with clast_expr_*. + (gcc_type_for_clast_expr): Same. + (print_clast_stmt): Replace pprint with clast_pprint. + * graphite-cloog-compat.h: Provide compatibility macros for + CLooG Legacy. + (clast_name_p): New. + (clast_expr_term): New. + (clast_expr_red): New. + (clast_expr_bin): New. + (clast_pprint): New. + +2010-07-27 Andreas Simbuerger + * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options compatible to newer CLooG releases (CLOOG_ORG). (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG). diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index 3220a6c1c4b..6d51b98d282 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -97,12 +97,18 @@ new_clast_name_index (const char *name, int index) SCATTERING_DIMENSIONS vector. */ static inline int -clast_name_to_index (const char *name, htab_t index_table) +clast_name_to_index (clast_name_p name, htab_t index_table) { struct clast_name_index tmp; PTR *slot; +#ifdef CLOOG_ORG + gcc_assert (name->type == clast_expr_name); + tmp.name = ((const struct clast_name*) name)->name; +#else tmp.name = name; +#endif + slot = htab_find_slot (index_table, &tmp, NO_INSERT); if (slot && *slot) @@ -165,7 +171,7 @@ newivs_to_depth_to_newiv (VEC (tree, heap) *newivs, int depth) Cloog representation. */ static tree -clast_name_to_gcc (const char *name, sese region, VEC (tree, heap) *newivs, +clast_name_to_gcc (clast_name_p name, sese region, VEC (tree, heap) *newivs, htab_t newivs_index, htab_t params_index) { int index; @@ -267,7 +273,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e, { switch (e->type) { - case expr_term: + case clast_expr_term: { struct clast_term *t = (struct clast_term *) e; @@ -319,7 +325,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e, return gmp_cst_to_tree (type, t->val); } - case expr_red: + case clast_expr_red: { struct clast_reduction *r = (struct clast_reduction *) e; @@ -346,7 +352,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e, break; } - case expr_bin: + case clast_expr_bin: { struct clast_binary *b = (struct clast_binary *) e; struct clast_expr *lhs = (struct clast_expr *) b->LHS; @@ -485,7 +491,7 @@ gcc_type_for_clast_term (struct clast_term *t, sese region, VEC (tree, heap) *newivs, htab_t newivs_index, htab_t params_index) { - gcc_assert (t->expr.type == expr_term); + gcc_assert (t->expr.type == clast_expr_term); if (!t->var) return gcc_type_for_value (t->val); @@ -557,15 +563,15 @@ gcc_type_for_clast_expr (struct clast_expr *e, { switch (e->type) { - case expr_term: + case clast_expr_term: return gcc_type_for_clast_term ((struct clast_term *) e, region, newivs, newivs_index, params_index); - case expr_red: + case clast_expr_red: return gcc_type_for_clast_red ((struct clast_reduction *) e, region, newivs, newivs_index, params_index); - case expr_bin: + case clast_expr_bin: return gcc_type_for_clast_bin ((struct clast_binary *) e, region, newivs, newivs_index, params_index); @@ -1361,7 +1367,7 @@ print_clast_stmt (FILE *file, struct clast_stmt *stmt) { CloogOptions *options = set_cloog_options (); - pprint (file, stmt, 0, options); + clast_pprint (file, stmt, 0, options); cloog_options_free (options); } @@ -1406,7 +1412,7 @@ print_generated_program (FILE *file, scop_p scop) fprintf (file, " )\n"); fprintf (file, " (clast: \n"); - pprint (file, pc.stmt, 0, options); + clast_pprint (file, pc.stmt, 0, options); fprintf (file, " )\n"); cloog_options_free (options); diff --git a/gcc/graphite-cloog-compat.h b/gcc/graphite-cloog-compat.h index 66083183676..8ff0e43f3d0 100644 --- a/gcc/graphite-cloog-compat.h +++ b/gcc/graphite-cloog-compat.h @@ -23,6 +23,12 @@ along with GCC; see the file COPYING3. If not see #define GRAPHITE_CLOOG_COMPAT_H /* Restore compatibility to CLooG Legacy. */ +#ifdef CLOOG_ORG +typedef const struct clast_expr *clast_name_p; +#else +typedef const char *clast_name_p; +#endif + #ifndef CLOOG_ORG /* CloogOptions compatibility. */ @@ -32,6 +38,12 @@ along with GCC; see the file COPYING3. If not see #define cloog_program_scatter(PROG, SCATT, OPT)\ cloog_program_scatter (PROG, SCATT) +/* CLAST compatibility. */ +#define clast_expr_term expr_term +#define clast_expr_red expr_red +#define clast_expr_bin expr_bin +#define clast_pprint pprint + #endif /* Adapt CLooG accessors from CLooG legacy to -- 2.11.4.GIT