Commit 95dd3097 by Zdenek Dvorak Committed by Zdenek Dvorak

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
parent f8f80cbb
2006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
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.
2006-05-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/27603
......
......@@ -822,8 +822,7 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
fprintf (file, " in-free-list");
if (SSA_NAME_PTR_INFO (node)
|| SSA_NAME_VALUE (node)
|| SSA_NAME_AUX (node))
|| SSA_NAME_VALUE (node))
{
indent_to (file, indent + 3);
if (SSA_NAME_PTR_INFO (node))
......@@ -832,8 +831,6 @@ print_node (FILE *file, const char *prefix, tree node, int indent)
if (SSA_NAME_VALUE (node))
fprintf (file, " value %p",
(void *) SSA_NAME_VALUE (node));
if (SSA_NAME_AUX (node))
fprintf (file, " aux %p", SSA_NAME_AUX (node));
}
break;
......
......@@ -1678,10 +1678,6 @@ struct tree_exp GTY(())
#define SSA_NAME_VALUE(N) \
SSA_NAME_CHECK (N)->ssa_name.value_handle
/* Auxiliary pass-specific data. */
#define SSA_NAME_AUX(N) \
SSA_NAME_CHECK (N)->ssa_name.aux
#ifndef _TREE_FLOW_H
struct ptr_info_def;
#endif
......@@ -1721,9 +1717,6 @@ struct tree_ssa_name GTY(())
as well. */
tree value_handle;
/* Auxiliary information stored with the ssa name. */
PTR GTY((skip)) aux;
/* Immediate uses list for this SSA_NAME. */
struct ssa_use_operand_d imm_uses;
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment