diff options
author | Andreas Simbuerger <simbuerg@fim.uni-passau.de> | 2010-08-11 20:30:34 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2010-08-11 20:30:34 +0000 |
commit | 4431102bf04d1b55354ce0543e852e0bc5d8970d (patch) | |
tree | c6a0121bfdeac2cfa03dfa292211e51e123d86d4 /gcc | |
parent | ac3b070a2f7c806f1fdd99c409af0e687949ad27 (diff) | |
download | gcc-4431102bf04d1b55354ce0543e852e0bc5d8970d.zip gcc-4431102bf04d1b55354ce0543e852e0bc5d8970d.tar.gz gcc-4431102bf04d1b55354ce0543e852e0bc5d8970d.tar.bz2 |
Adapt to new CLAST structure within upstream CLooG version and retain compatibility to CLooG Legacy.
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* 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.
From-SVN: r163163
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 15 | ||||
-rw-r--r-- | gcc/ChangeLog.graphite | 15 | ||||
-rw-r--r-- | gcc/graphite-clast-to-gimple.c | 28 | ||||
-rw-r--r-- | gcc/graphite-cloog-compat.h | 12 |
4 files changed, 59 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 23c8240..2a89f47 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,20 @@ 2010-08-02 Andreas Simbuerger <simbuerg@fim.uni-passau.de> + * 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-08-02 Andreas Simbuerger <simbuerg@fim.uni-passau.de> + * 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/ChangeLog.graphite b/gcc/ChangeLog.graphite index 6361c49..7e12177 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,5 +1,20 @@ 2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de> + * 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 <simbuerg@fim.uni-passau.de> + * 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 a611ca7..29c8ffb 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); @@ -1359,7 +1365,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); } @@ -1404,7 +1410,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 6608318..8ff0e43 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 |