diff options
author | Richard Guenther <rguenther@suse.de> | 2010-07-26 14:48:43 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-07-26 14:48:43 +0000 |
commit | edc74207ded06c2421dd72ad6156a77fb0c0f07e (patch) | |
tree | 06016019e0b139a6cfc0d49db28b7c26b7a71564 /gcc | |
parent | bd422c4a74ab686f8902885671afb8564328b9c3 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gimple-fold.c | 9 |
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); |