aboutsummaryrefslogtreecommitdiff
path: root/gcc/graphite-clast-to-gimple.c
diff options
context:
space:
mode:
authorSebastian Pop <seb@napoca>2010-02-11 19:42:38 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-02-11 19:42:38 +0000
commita1954f72c64181e9cd63945c12776e168f166bc3 (patch)
tree9a93f6270813899e2fca5101fe3e5ca955c10cee /gcc/graphite-clast-to-gimple.c
parent01e64c3dc777ec3515ca89cb279410edab2fc5c2 (diff)
downloadgcc-a1954f72c64181e9cd63945c12776e168f166bc3.zip
gcc-a1954f72c64181e9cd63945c12776e168f166bc3.tar.gz
gcc-a1954f72c64181e9cd63945c12776e168f166bc3.tar.bz2
re PR tree-optimization/42771 ([graphite] ICE: in graphite_loop_normal_form, at graphite-sese-to-poly.c (2))
Fix PR42771. 2010-02-10 Sebastian Pop <seb@napoca> PR middle-end/42771 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters. * graphite-clast-to-gimple.h (gloog): Update declaration. * graphite-poly.c (new_scop): Clear POLY_SCOP_P. * graphite-poly.h (struct poly_bb): Add missing comments. (struct scop): Add poly_scop_p field. (POLY_SCOP_P): New. * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P. * graphite.c (graphite_transform_loops): Build the polyhedral representation for each scop before code generation. * sese.c (rename_variables_in_operand): Removed. (rename_variables_in_expr): Return the renamed expression. (rename_sese_parameters): New. * sese.h (rename_sese_parameters): Declared. * gcc.dg/graphite/pr42771.c: New. From-SVN: r156711
Diffstat (limited to 'gcc/graphite-clast-to-gimple.c')
-rw-r--r--gcc/graphite-clast-to-gimple.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c
index cc48859..424f5c6 100644
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -1428,7 +1428,7 @@ create_params_index (htab_t index_table, CloogProgram *prog) {
*/
bool
-gloog (scop_p scop, htab_t bb_pbb_mapping)
+gloog (scop_p scop, VEC (scop_p, heap) *scops, htab_t bb_pbb_mapping)
{
VEC (tree, heap) *newivs = VEC_alloc (tree, heap, 10);
loop_p context_loop;
@@ -1436,6 +1436,7 @@ gloog (scop_p scop, htab_t bb_pbb_mapping)
ifsese if_region = NULL;
htab_t rename_map, newivs_index, params_index;
cloog_prog_clast pc;
+ int i;
timevar_push (TV_GRAPHITE_CODE_GEN);
gloog_error = false;
@@ -1481,6 +1482,10 @@ gloog (scop_p scop, htab_t bb_pbb_mapping)
if_region->true_region->exit);
scev_reset_htab ();
rename_nb_iterations (rename_map);
+
+ for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+ rename_sese_parameters (rename_map, SCOP_REGION (scop));
+
recompute_all_dominators ();
graphite_verify ();