--- src/contrib/gcc/tree-flow.h.orig 2007-05-19 01:11:49.000000000 +0000 +++ src/contrib/gcc/tree-flow.h 2007-11-09 23:19:44.000000000 +0000 @@ -713,6 +713,7 @@ void register_new_name_mapping (tree, tree); tree create_new_def_for (tree, tree, def_operand_p); bool need_ssa_update_p (void); +bool name_mappings_registered_p (void); bool name_registered_for_update_p (tree); bitmap ssa_names_to_replace (void); void release_ssa_name_after_update_ssa (tree name); --- src/contrib/gcc/tree-into-ssa.c.orig 2007-05-19 01:02:59.000000000 +0000 +++ src/contrib/gcc/tree-into-ssa.c 2007-11-09 23:20:47.000000000 +0000 @@ -2659,6 +2659,13 @@ return syms_to_rename || old_ssa_names || new_ssa_names; } +/* Return true if SSA name mappings have been registered for SSA updating. */ + +bool +name_mappings_registered_p (void) +{ + return repl_tbl && htab_elements (repl_tbl) > 0; +} /* Return true if name N has been registered in the replacement table. */ --- src/contrib/gcc/tree-cfg.c.orig 2007-05-19 01:12:15.000000000 +0000 +++ src/contrib/gcc/tree-cfg.c 2007-11-09 23:19:28.000000000 +0000 @@ -1214,7 +1214,7 @@ phi = phi_nodes (b); if (phi) { - if (need_ssa_update_p ()) + if (name_mappings_registered_p ()) return false; for (; phi; phi = PHI_CHAIN (phi))