aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-07-26 14:48:43 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-07-26 14:48:43 +0000
commitedc74207ded06c2421dd72ad6156a77fb0c0f07e (patch)
tree06016019e0b139a6cfc0d49db28b7c26b7a71564
parentbd422c4a74ab686f8902885671afb8564328b9c3 (diff)
downloadgcc-edc74207ded06c2421dd72ad6156a77fb0c0f07e.zip
gcc-edc74207ded06c2421dd72ad6156a77fb0c0f07e.tar.gz
gcc-edc74207ded06c2421dd72ad6156a77fb0c0f07e.tar.bz2
re PR tree-optimization/45073 (gfortran.dg/assumed_charlen_function_3.f90 ICEs with -fprofile-generate)
2010-07-26 Richard Guenther <rguenther@suse.de> PR middle-end/45073 * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize SSA updating on being in SSA form. From-SVN: r162537
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/gimple-fold.c9
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1b32e50..66a86e5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2010-07-26 Richard Guenther <rguenther@suse.de>
+ PR middle-end/45073
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize
+ SSA updating on being in SSA form.
+
+2010-07-26 Richard Guenther <rguenther@suse.de>
+
PR middle-end/45056
* gimple-fold.c (fold_stmt_1): Also fold references in
debug stmts.
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 5953d6a..a5301ba 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -853,8 +853,11 @@ gimplify_and_update_call_from_tree (gimple_stmt_iterator *si_p, tree expr)
gsi_next (si_p);
}
new_stmt = gsi_stmt (i);
- find_new_referenced_vars (new_stmt);
- mark_symbols_for_renaming (new_stmt);
+ if (gimple_in_ssa_p (cfun))
+ {
+ find_new_referenced_vars (new_stmt);
+ mark_symbols_for_renaming (new_stmt);
+ }
/* If the new statement has a VUSE, update it with exact SSA name we
know will reach this one. */
if (gimple_vuse (new_stmt))
@@ -892,7 +895,7 @@ gimplify_and_update_call_from_tree (gimple_stmt_iterator *si_p, tree expr)
SSA_NAME_DEF_STMT (gimple_vdef (stmt)) = laststore;
update_stmt (laststore);
}
- else
+ else if (gimple_in_ssa_p (cfun))
{
unlink_stmt_vdef (stmt);
release_defs (stmt);