aboutsummaryrefslogtreecommitdiff
path: root/gcc/graphite-clast-to-gimple.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2010-01-10 21:46:42 +0000
committerSebastian Pop <spop@gcc.gnu.org>2010-01-10 21:46:42 +0000
commite1496917f1a8651786675c13c702de19518cf8e4 (patch)
tree0e6f539a020e4f9c2e0602ac03b56ada5e952081 /gcc/graphite-clast-to-gimple.c
parentdadcb84c8f3e312a42496ba959e9568673823b34 (diff)
downloadgcc-e1496917f1a8651786675c13c702de19518cf8e4.zip
gcc-e1496917f1a8651786675c13c702de19518cf8e4.tar.gz
gcc-e1496917f1a8651786675c13c702de19518cf8e4.tar.bz2
re PR middle-end/42393 ([graphite] internal compiler error: in check_loop_closed_ssa_use)
Fix PR42393. 2010-01-08 Sebastian Pop <sebastian.pop@amd.com> PR middle-end/42393 * graphite-clast-to-gimple.c: Fix formatting. * sese.c (defined_in_loop_p): Renamed name_defined_in_loop_p. (expr_defined_in_loop_p): New. (add_loop_exit_phis): Also handle full expressions: remove from the rename_map the expressions defined in the loop that we're closing. * testsuite/gfortran.dg/graphite/pr42393-1.f90: New. * testsuite/gfortran.dg/graphite/pr42393.f90: Add new flags -fno-loop-block -fno-loop-interchange -fno-loop-strip-mine to also make this testcase useful in the Graphite branch. From-SVN: r155795
Diffstat (limited to 'gcc/graphite-clast-to-gimple.c')
-rw-r--r--gcc/graphite-clast-to-gimple.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c
index 827a934..bbc77d2 100644
--- a/gcc/graphite-clast-to-gimple.c
+++ b/gcc/graphite-clast-to-gimple.c
@@ -812,10 +812,11 @@ graphite_create_new_loop_guard (sese region, edge entry_edge,
- PARAMS_INDEX connects the cloog parameters with the gimple parameters in
the sese region. */
static edge
-translate_clast_for_loop (sese region, loop_p context_loop, struct clast_for *stmt, edge next_e,
- htab_t rename_map, VEC (tree, heap) **newivs,
- htab_t newivs_index, htab_t bb_pbb_mapping, int level,
- htab_t params_index)
+translate_clast_for_loop (sese region, loop_p context_loop,
+ struct clast_for *stmt, edge next_e,
+ htab_t rename_map, VEC (tree, heap) **newivs,
+ htab_t newivs_index, htab_t bb_pbb_mapping,
+ int level, htab_t params_index)
{
struct loop *loop = graphite_create_new_loop (region, next_e, stmt,
context_loop, newivs,
@@ -858,8 +859,8 @@ translate_clast_for_loop (sese region, loop_p context_loop, struct clast_for *st
- PARAMS_INDEX connects the cloog parameters with the gimple parameters in
the sese region. */
static edge
-translate_clast_for (sese region, loop_p context_loop, struct clast_for *stmt, edge next_e,
- htab_t rename_map, VEC (tree, heap) **newivs,
+translate_clast_for (sese region, loop_p context_loop, struct clast_for *stmt,
+ edge next_e, htab_t rename_map, VEC (tree, heap) **newivs,
htab_t newivs_index, htab_t bb_pbb_mapping, int level,
htab_t params_index)
{
@@ -875,7 +876,8 @@ translate_clast_for (sese region, loop_p context_loop, struct clast_for *stmt, e
eq_rename_map_elts, free);
htab_traverse (rename_map, copy_renames, before_guard);
- next_e = translate_clast_for_loop (region, context_loop, stmt, true_e, rename_map, newivs,
+ next_e = translate_clast_for_loop (region, context_loop, stmt, true_e,
+ rename_map, newivs,
newivs_index, bb_pbb_mapping, level,
params_index);