diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1b32e5051e0e7b1247981a2f98a4843fb217de9f..66a86e5c73127128214c9734ba49533f10340c7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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 diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 5953d6a7593c7f96f01b4d8dd5ebe157bb3ad770..a5301bad5ed726cb0089bdaba016d118b8afb51c 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);