Commit 4431102b by Andreas Simbuerger Committed by Sebastian Pop

Adapt to new CLAST structure within upstream CLooG version and retain…

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
parent ac3b070a
2010-08-02 Andreas Simbuerger <simbuerg@fim.uni-passau.de> 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 * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
compatible to newer CLooG releases (CLOOG_ORG). compatible to newer CLooG releases (CLOOG_ORG).
(build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG). (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
......
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de> 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 * graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
compatible to newer CLooG releases (CLOOG_ORG). compatible to newer CLooG releases (CLOOG_ORG).
(build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG). (build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
......
...@@ -97,12 +97,18 @@ new_clast_name_index (const char *name, int index) ...@@ -97,12 +97,18 @@ new_clast_name_index (const char *name, int index)
SCATTERING_DIMENSIONS vector. */ SCATTERING_DIMENSIONS vector. */
static inline int 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; struct clast_name_index tmp;
PTR *slot; PTR *slot;
#ifdef CLOOG_ORG
gcc_assert (name->type == clast_expr_name);
tmp.name = ((const struct clast_name*) name)->name;
#else
tmp.name = name; tmp.name = name;
#endif
slot = htab_find_slot (index_table, &tmp, NO_INSERT); slot = htab_find_slot (index_table, &tmp, NO_INSERT);
if (slot && *slot) if (slot && *slot)
...@@ -165,7 +171,7 @@ newivs_to_depth_to_newiv (VEC (tree, heap) *newivs, int depth) ...@@ -165,7 +171,7 @@ newivs_to_depth_to_newiv (VEC (tree, heap) *newivs, int depth)
Cloog representation. */ Cloog representation. */
static tree 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) htab_t newivs_index, htab_t params_index)
{ {
int index; int index;
...@@ -267,7 +273,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e, ...@@ -267,7 +273,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e,
{ {
switch (e->type) switch (e->type)
{ {
case expr_term: case clast_expr_term:
{ {
struct clast_term *t = (struct clast_term *) e; struct clast_term *t = (struct clast_term *) e;
...@@ -319,7 +325,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e, ...@@ -319,7 +325,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e,
return gmp_cst_to_tree (type, t->val); return gmp_cst_to_tree (type, t->val);
} }
case expr_red: case clast_expr_red:
{ {
struct clast_reduction *r = (struct clast_reduction *) e; struct clast_reduction *r = (struct clast_reduction *) e;
...@@ -346,7 +352,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e, ...@@ -346,7 +352,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e,
break; break;
} }
case expr_bin: case clast_expr_bin:
{ {
struct clast_binary *b = (struct clast_binary *) e; struct clast_binary *b = (struct clast_binary *) e;
struct clast_expr *lhs = (struct clast_expr *) b->LHS; struct clast_expr *lhs = (struct clast_expr *) b->LHS;
...@@ -485,7 +491,7 @@ gcc_type_for_clast_term (struct clast_term *t, ...@@ -485,7 +491,7 @@ gcc_type_for_clast_term (struct clast_term *t,
sese region, VEC (tree, heap) *newivs, sese region, VEC (tree, heap) *newivs,
htab_t newivs_index, htab_t params_index) 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) if (!t->var)
return gcc_type_for_value (t->val); return gcc_type_for_value (t->val);
...@@ -557,15 +563,15 @@ gcc_type_for_clast_expr (struct clast_expr *e, ...@@ -557,15 +563,15 @@ gcc_type_for_clast_expr (struct clast_expr *e,
{ {
switch (e->type) switch (e->type)
{ {
case expr_term: case clast_expr_term:
return gcc_type_for_clast_term ((struct clast_term *) e, region, return gcc_type_for_clast_term ((struct clast_term *) e, region,
newivs, newivs_index, params_index); newivs, newivs_index, params_index);
case expr_red: case clast_expr_red:
return gcc_type_for_clast_red ((struct clast_reduction *) e, region, return gcc_type_for_clast_red ((struct clast_reduction *) e, region,
newivs, newivs_index, params_index); newivs, newivs_index, params_index);
case expr_bin: case clast_expr_bin:
return gcc_type_for_clast_bin ((struct clast_binary *) e, region, return gcc_type_for_clast_bin ((struct clast_binary *) e, region,
newivs, newivs_index, params_index); newivs, newivs_index, params_index);
...@@ -1359,7 +1365,7 @@ print_clast_stmt (FILE *file, struct clast_stmt *stmt) ...@@ -1359,7 +1365,7 @@ print_clast_stmt (FILE *file, struct clast_stmt *stmt)
{ {
CloogOptions *options = set_cloog_options (); CloogOptions *options = set_cloog_options ();
pprint (file, stmt, 0, options); clast_pprint (file, stmt, 0, options);
cloog_options_free (options); cloog_options_free (options);
} }
...@@ -1404,7 +1410,7 @@ print_generated_program (FILE *file, scop_p scop) ...@@ -1404,7 +1410,7 @@ print_generated_program (FILE *file, scop_p scop)
fprintf (file, " )\n"); fprintf (file, " )\n");
fprintf (file, " (clast: \n"); fprintf (file, " (clast: \n");
pprint (file, pc.stmt, 0, options); clast_pprint (file, pc.stmt, 0, options);
fprintf (file, " )\n"); fprintf (file, " )\n");
cloog_options_free (options); cloog_options_free (options);
......
...@@ -23,6 +23,12 @@ along with GCC; see the file COPYING3. If not see ...@@ -23,6 +23,12 @@ along with GCC; see the file COPYING3. If not see
#define GRAPHITE_CLOOG_COMPAT_H #define GRAPHITE_CLOOG_COMPAT_H
/* Restore compatibility to CLooG Legacy. */ /* 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 #ifndef CLOOG_ORG
/* CloogOptions compatibility. */ /* CloogOptions compatibility. */
...@@ -32,6 +38,12 @@ along with GCC; see the file COPYING3. If not see ...@@ -32,6 +38,12 @@ along with GCC; see the file COPYING3. If not see
#define cloog_program_scatter(PROG, SCATT, OPT)\ #define cloog_program_scatter(PROG, SCATT, OPT)\
cloog_program_scatter (PROG, SCATT) 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 #endif
/* Adapt CLooG accessors from CLooG legacy to /* Adapt CLooG accessors from CLooG legacy to
......
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