mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
ac3b070a2f
commit
4431102bf0
|
|
@ -1,3 +1,18 @@
|
||||||
|
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>
|
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
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,18 @@
|
||||||
|
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>
|
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
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
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,
|
||||||
{
|
{
|
||||||
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,
|
||||||
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,
|
||||||
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,
|
||||||
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,
|
||||||
{
|
{
|
||||||
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)
|
||||||
{
|
{
|
||||||
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)
|
||||||
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
|
||||||
#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
|
||||||
#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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue