On Fri, Jul 27, 2012 at 5:16 AM, Richard Guenther <rguent...@suse.de> wrote: > > This tries to more clearly separate per-SSA name held information > from per-DECL held information during update-ssa. We already have > a global array of SSA name informations so it is pointless to > have a hashtable mapping SSA names to yet another piece of information > (a bitmap). This patch simply puts the bitmap into that SSA name > auxiliar vector. Lifetime is managed by using a separate obstack > and the aux vector age. > > Bootstrap and regtest pending on x86_64-unknown-linux-gnu. > > Richard. > > 2012-07-27 Richard Guenther <rguent...@suse.de> > > * tree-cfg.c (gimple_can_merge_blocks_p): Do more fine-grained > check whether SSA form is not up-to-date. > * tree-flow.h (name_mappings_registered_p): Remove. > * tree-into-ssa.c (struct repl_map_d): Remove. > (repl_tbl): Likewise. > (struct ssa_name_info): Add repl_set member. > (update_ssa_obstack): New static global. > (get_ssa_name_ann): Initialize repl_set. > (clear_ssa_name_info): Assert age did not wrap. > (repl_map_hash, repl_map_eq, repl_map_free): Remove. > (names_replaced_by): Adjust. > (add_to_repl_tbl): Likewise. > (dump_tree_ssa_stats): Likewise. > (init_update_ssa): Initialize update_ssa_obstack. > (delete_update_ssa): Free update_ssa_obstack. > (name_mappings_registered_p): Remove. > (update_ssa): Adjust. >
This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54327 -- H.J.