From edc74207ded06c2421dd72ad6156a77fb0c0f07e Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Mon, 26 Jul 2010 14:48:43 +0000 Subject: [PATCH] re PR tree-optimization/45073 (gfortran.dg/assumed_charlen_function_3.f90 ICEs with -fprofile-generate) 2010-07-26 Richard Guenther PR middle-end/45073 * gimple-fold.c (gimplify_and_update_call_from_tree): Conditionalize SSA updating on being in SSA form. From-SVN: r162537 --- gcc/ChangeLog | 6 ++++++ gcc/gimple-fold.c | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b32e5051e0..66a86e5c731 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-07-26 Richard Guenther + + 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 PR middle-end/45056 diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 5953d6a7593..a5301bad5ed 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); -- 2.30.2