graphite-clast-to-gimple.c: gloog is renamed to graphite_regenerate_ast_cloog.
gcc/ * graphite-clast-to-gimple.c: gloog is renamed to graphite_regenerate_ast_cloog. gloog_error is renamed to graphite_regenerate_error. * graphite-clast-to-gimple.h: The definition of the struct bb_pbb_def is moved to graphite-htab.h. Add inclusion of the hash-table.h. * graphite-htab.h: The declaration of the function gloog is moved to graphite-clast-to-gimple.h and renamed to graphite_regenerate_ast_cloog. * graphite.c (graphite_transform_loops): gloog is renamed to graphite_regenerate_ast_cloog. From-SVN: r212121
This commit is contained in:
parent
f8d0f47bbb
commit
db72d60618
@ -1,3 +1,18 @@
|
|||||||
|
2014-06-29 Roman Gareev <gareevroman@gmail.com>
|
||||||
|
|
||||||
|
* graphite-clast-to-gimple.c:
|
||||||
|
gloog is renamed to graphite_regenerate_ast_cloog.
|
||||||
|
gloog_error is renamed to graphite_regenerate_error.
|
||||||
|
* graphite-clast-to-gimple.h:
|
||||||
|
The definition of the struct bb_pbb_def is moved to graphite-htab.h.
|
||||||
|
Add inclusion of the hash-table.h.
|
||||||
|
* graphite-htab.h:
|
||||||
|
The declaration of the function gloog is moved
|
||||||
|
to graphite-clast-to-gimple.h and renamed to
|
||||||
|
graphite_regenerate_ast_cloog.
|
||||||
|
* graphite.c (graphite_transform_loops):
|
||||||
|
gloog is renamed to graphite_regenerate_ast_cloog.
|
||||||
|
|
||||||
2014-06-28 Jan Hubicka <hubicka@ucw.cz>
|
2014-06-28 Jan Hubicka <hubicka@ucw.cz>
|
||||||
|
|
||||||
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
|
* tree-streamer-out.c (pack_ts_type_common_value_fields): Stream if type
|
||||||
|
@ -109,7 +109,7 @@ value_max (mpz_t res, mpz_t v1, mpz_t v2)
|
|||||||
|
|
||||||
/* This flag is set when an error occurred during the translation of
|
/* This flag is set when an error occurred during the translation of
|
||||||
CLAST to Gimple. */
|
CLAST to Gimple. */
|
||||||
static bool gloog_error;
|
static bool graphite_regenerate_error;
|
||||||
|
|
||||||
/* Verifies properties that GRAPHITE should maintain during translation. */
|
/* Verifies properties that GRAPHITE should maintain during translation. */
|
||||||
|
|
||||||
@ -364,7 +364,7 @@ max_precision_type (tree type1, tree type2)
|
|||||||
|
|
||||||
if (precision > BITS_PER_WORD)
|
if (precision > BITS_PER_WORD)
|
||||||
{
|
{
|
||||||
gloog_error = true;
|
graphite_regenerate_error = true;
|
||||||
return integer_type_node;
|
return integer_type_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,7 +374,7 @@ max_precision_type (tree type1, tree type2)
|
|||||||
|
|
||||||
if (!type)
|
if (!type)
|
||||||
{
|
{
|
||||||
gloog_error = true;
|
graphite_regenerate_error = true;
|
||||||
return integer_type_node;
|
return integer_type_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -457,7 +457,7 @@ clast_to_gcc_expression (tree type, struct clast_expr *e, ivs_params_p ip)
|
|||||||
if (!POINTER_TYPE_P (type))
|
if (!POINTER_TYPE_P (type))
|
||||||
return fold_build2 (MULT_EXPR, type, cst, name);
|
return fold_build2 (MULT_EXPR, type, cst, name);
|
||||||
|
|
||||||
gloog_error = true;
|
graphite_regenerate_error = true;
|
||||||
return cst;
|
return cst;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -536,7 +536,7 @@ type_for_interval (mpz_t bound_one, mpz_t bound_two)
|
|||||||
|
|
||||||
if (precision > BITS_PER_WORD)
|
if (precision > BITS_PER_WORD)
|
||||||
{
|
{
|
||||||
gloog_error = true;
|
graphite_regenerate_error = true;
|
||||||
return integer_type_node;
|
return integer_type_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -559,7 +559,7 @@ type_for_interval (mpz_t bound_one, mpz_t bound_two)
|
|||||||
|
|
||||||
if (!type)
|
if (!type)
|
||||||
{
|
{
|
||||||
gloog_error = true;
|
graphite_regenerate_error = true;
|
||||||
return integer_type_node;
|
return integer_type_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1113,7 +1113,8 @@ translate_clast_user (struct clast_user_stmt *stmt, edge next_e,
|
|||||||
|
|
||||||
build_iv_mapping (iv_map, stmt, ip);
|
build_iv_mapping (iv_map, stmt, ip);
|
||||||
next_e = copy_bb_and_scalar_dependences (GBB_BB (gbb), ip->region,
|
next_e = copy_bb_and_scalar_dependences (GBB_BB (gbb), ip->region,
|
||||||
next_e, iv_map, &gloog_error);
|
next_e, iv_map,
|
||||||
|
&graphite_regenerate_error);
|
||||||
iv_map.release ();
|
iv_map.release ();
|
||||||
|
|
||||||
new_bb = next_e->src;
|
new_bb = next_e->src;
|
||||||
@ -1489,7 +1490,7 @@ build_cloog_union_domain (scop_p scop, int nb_scattering_dims)
|
|||||||
return union_domain;
|
return union_domain;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Return the options that will be used in GLOOG. */
|
/* Return the options that will be used in graphite_regenerate_ast_cloog. */
|
||||||
|
|
||||||
static CloogOptions *
|
static CloogOptions *
|
||||||
set_cloog_options (void)
|
set_cloog_options (void)
|
||||||
@ -1504,7 +1505,7 @@ set_cloog_options (void)
|
|||||||
/* Enable complex equality spreading: removes dummy statements
|
/* Enable complex equality spreading: removes dummy statements
|
||||||
(assignments) in the generated code which repeats the
|
(assignments) in the generated code which repeats the
|
||||||
substitution equations for statements. This is useless for
|
substitution equations for statements. This is useless for
|
||||||
GLooG. */
|
graphite_regenerate_ast_cloog. */
|
||||||
options->esp = 1;
|
options->esp = 1;
|
||||||
|
|
||||||
/* Silence CLooG to avoid failing tests due to debug output to stderr. */
|
/* Silence CLooG to avoid failing tests due to debug output to stderr. */
|
||||||
@ -1662,7 +1663,7 @@ debug_generated_program (scop_p scop)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bool
|
bool
|
||||||
gloog (scop_p scop, bb_pbb_htab_type *bb_pbb_mapping)
|
graphite_regenerate_ast_cloog (scop_p scop, bb_pbb_htab_type *bb_pbb_mapping)
|
||||||
{
|
{
|
||||||
auto_vec<tree, 10> newivs;
|
auto_vec<tree, 10> newivs;
|
||||||
loop_p context_loop;
|
loop_p context_loop;
|
||||||
@ -1673,7 +1674,7 @@ gloog (scop_p scop, bb_pbb_htab_type *bb_pbb_mapping)
|
|||||||
struct ivs_params ip;
|
struct ivs_params ip;
|
||||||
|
|
||||||
timevar_push (TV_GRAPHITE_CODE_GEN);
|
timevar_push (TV_GRAPHITE_CODE_GEN);
|
||||||
gloog_error = false;
|
graphite_regenerate_error = false;
|
||||||
|
|
||||||
params_index = new clast_index_htab_type (10);
|
params_index = new clast_index_htab_type (10);
|
||||||
|
|
||||||
@ -1713,7 +1714,7 @@ gloog (scop_p scop, bb_pbb_htab_type *bb_pbb_mapping)
|
|||||||
recompute_all_dominators ();
|
recompute_all_dominators ();
|
||||||
graphite_verify ();
|
graphite_verify ();
|
||||||
|
|
||||||
if (gloog_error)
|
if (graphite_regenerate_error)
|
||||||
set_ifsese_condition (if_region, integer_zero_node);
|
set_ifsese_condition (if_region, integer_zero_node);
|
||||||
|
|
||||||
free (if_region->true_region);
|
free (if_region->true_region);
|
||||||
@ -1740,6 +1741,6 @@ gloog (scop_p scop, bb_pbb_htab_type *bb_pbb_mapping)
|
|||||||
num_no_dependency);
|
num_no_dependency);
|
||||||
}
|
}
|
||||||
|
|
||||||
return !gloog_error;
|
return !graphite_regenerate_error;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -21,6 +21,8 @@ along with GCC; see the file COPYING3. If not see
|
|||||||
#ifndef GCC_GRAPHITE_CLAST_TO_GIMPLE_H
|
#ifndef GCC_GRAPHITE_CLAST_TO_GIMPLE_H
|
||||||
#define GCC_GRAPHITE_CLAST_TO_GIMPLE_H
|
#define GCC_GRAPHITE_CLAST_TO_GIMPLE_H
|
||||||
|
|
||||||
|
#include "graphite-htab.h"
|
||||||
|
|
||||||
extern CloogState *cloog_state;
|
extern CloogState *cloog_state;
|
||||||
|
|
||||||
/* Data structure for CLooG program representation. */
|
/* Data structure for CLooG program representation. */
|
||||||
@ -30,14 +32,7 @@ struct cloog_prog_clast {
|
|||||||
struct clast_stmt *stmt;
|
struct clast_stmt *stmt;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Stores BB's related PBB. */
|
extern bool graphite_regenerate_ast_cloog (scop_p, bb_pbb_htab_type *);
|
||||||
|
|
||||||
struct bb_pbb_def
|
|
||||||
{
|
|
||||||
basic_block bb;
|
|
||||||
poly_bb_p pbb;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern void debug_clast_stmt (struct clast_stmt *);
|
extern void debug_clast_stmt (struct clast_stmt *);
|
||||||
extern void print_clast_stmt (FILE *, struct clast_stmt *);
|
extern void print_clast_stmt (FILE *, struct clast_stmt *);
|
||||||
|
|
||||||
|
@ -22,7 +22,14 @@ along with GCC; see the file COPYING3. If not see
|
|||||||
#define GCC_GRAPHITE_HTAB_H
|
#define GCC_GRAPHITE_HTAB_H
|
||||||
|
|
||||||
#include "hash-table.h"
|
#include "hash-table.h"
|
||||||
#include "graphite-clast-to-gimple.h"
|
|
||||||
|
/* Stores BB's related PBB. */
|
||||||
|
|
||||||
|
struct bb_pbb_def
|
||||||
|
{
|
||||||
|
basic_block bb;
|
||||||
|
poly_bb_p pbb;
|
||||||
|
};
|
||||||
|
|
||||||
/* Hashtable helpers. */
|
/* Hashtable helpers. */
|
||||||
|
|
||||||
@ -52,7 +59,6 @@ bb_pbb_hasher::equal (const value_type *bp1, const compare_type *bp2)
|
|||||||
|
|
||||||
typedef hash_table<bb_pbb_hasher> bb_pbb_htab_type;
|
typedef hash_table<bb_pbb_hasher> bb_pbb_htab_type;
|
||||||
|
|
||||||
extern bool gloog (scop_p, bb_pbb_htab_type *);
|
|
||||||
poly_bb_p find_pbb_via_hash (bb_pbb_htab_type *, basic_block);
|
poly_bb_p find_pbb_via_hash (bb_pbb_htab_type *, basic_block);
|
||||||
bool loop_is_parallel_p (loop_p, bb_pbb_htab_type *, int);
|
bool loop_is_parallel_p (loop_p, bb_pbb_htab_type *, int);
|
||||||
scop_p get_loop_body_pbbs (loop_p, bb_pbb_htab_type *, vec<poly_bb_p> *);
|
scop_p get_loop_body_pbbs (loop_p, bb_pbb_htab_type *, vec<poly_bb_p> *);
|
||||||
|
@ -299,7 +299,7 @@ graphite_transform_loops (void)
|
|||||||
|
|
||||||
if (POLY_SCOP_P (scop)
|
if (POLY_SCOP_P (scop)
|
||||||
&& apply_poly_transforms (scop)
|
&& apply_poly_transforms (scop)
|
||||||
&& gloog (scop, &bb_pbb_mapping))
|
&& graphite_regenerate_ast_cloog (scop, &bb_pbb_mapping))
|
||||||
need_cfg_cleanup_p = true;
|
need_cfg_cleanup_p = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user