@@ -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).
@@ -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);
@@ -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