re PR tree-optimization/26830 (Repeated SSA update during loop header copying)
authorZdenek Dvorak <dvorakz@suse.cz>
Mon, 15 May 2006 18:24:55 +0000 (20:24 +0200)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Mon, 15 May 2006 18:24:55 +0000 (18:24 +0000)
commit95dd3097939517ea3a4f7631407f9300288a98e3
tree766c14ddc673f894d7d8cfdf171c0bcd960c9c28
parentf8f80cbb624c69bf1397bd71cc5181cebdce43fe
re PR tree-optimization/26830 (Repeated SSA update during loop header copying)

PR tree-optimization/26830
* tree-into-ssa.c (struct ssa_name_info): Add age field.
(info_for_ssa_name, current_info_for_ssa_name_age,
blocks_to_update): New variables.
(get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
(clear_ssa_name_info, initialize_flags_in_bb,
mark_block_for_update): New functions.
(mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
(insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
prepare_def_site_for): Use mark_block_for_update.
(mark_def_interesting): Assert that the processed block is marked in
blocks_to_update.  Do not take blocks argument.
(prepare_use_sites_for, prepare_names_to_update): Do not take blocks
argument.
(rewrite_update_init_block, rewrite_update_stmt): Only process
blocks with statements to rewrite.
(delete_update_ssa): Do not clear SSA_NAME_AUX.
(update_ssa): Initialize and free blocks_to_update.  Do not
clear flags on statements.  Do not use blocks bitmap.
* tree.h (SSA_NAME_AUX): Removed.
(struct tree_ssa_name): Removed aux field.
* print-tree.c (print_node): Do not print SSA_NAME_AUX.

From-SVN: r113799
gcc/ChangeLog
gcc/print-tree.c
gcc/tree-into-ssa.c
gcc/tree.h