mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-23 01:40:32 +08:00
tree-into-ssa.c (update_ssa): Ensure that the operand cache is up-to-date.
* tree-into-ssa.c (update_ssa): Ensure that the operand cache is up-to-date. * tree-ssa-dom.c (tree_ssa_dominator_optimize): Call update_stmt_if_modified before calling update_ssa. From-SVN: r100250
This commit is contained in:
parent
fb617f00f1
commit
6e3b9e2787
@ -1,3 +1,10 @@
|
||||
2005-05-27 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* tree-into-ssa.c (update_ssa): Ensure that the operand cache
|
||||
is up-to-date.
|
||||
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
|
||||
update_stmt_if_modified before calling update_ssa.
|
||||
|
||||
2005-05-27 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* config/rs6000/t-rtems: Remove roe multilib variant.
|
||||
|
@ -2679,6 +2679,10 @@ update_ssa (unsigned update_flags)
|
||||
for (si = bsi_start (bb); !bsi_end_p (si); bsi_next (&si))
|
||||
{
|
||||
tree stmt = bsi_stmt (si);
|
||||
/* We are going to use the operand cache API, such as
|
||||
SET_USE, SET_DEF, and FOR_EACH_IMM_USE_FAST. The operand
|
||||
cache for each statement should be up-to-date. */
|
||||
gcc_assert (!stmt_modified_p (stmt));
|
||||
REWRITE_THIS_STMT (stmt) = 0;
|
||||
REGISTER_DEFS_IN_THIS_STMT (stmt) = 0;
|
||||
}
|
||||
|
@ -423,15 +423,6 @@ tree_ssa_dominator_optimize (void)
|
||||
/* Recursively walk the dominator tree optimizing statements. */
|
||||
walk_dominator_tree (&walk_data, ENTRY_BLOCK_PTR);
|
||||
|
||||
/* If we exposed any new variables, go ahead and put them into
|
||||
SSA form now, before we handle jump threading. This simplifies
|
||||
interactions between rewriting of _DECL nodes into SSA form
|
||||
and rewriting SSA_NAME nodes into SSA form after block
|
||||
duplication and CFG manipulation. */
|
||||
update_ssa (TODO_update_ssa);
|
||||
|
||||
free_all_edge_infos ();
|
||||
|
||||
{
|
||||
block_stmt_iterator bsi;
|
||||
basic_block bb;
|
||||
@ -444,6 +435,15 @@ tree_ssa_dominator_optimize (void)
|
||||
}
|
||||
}
|
||||
|
||||
/* If we exposed any new variables, go ahead and put them into
|
||||
SSA form now, before we handle jump threading. This simplifies
|
||||
interactions between rewriting of _DECL nodes into SSA form
|
||||
and rewriting SSA_NAME nodes into SSA form after block
|
||||
duplication and CFG manipulation. */
|
||||
update_ssa (TODO_update_ssa);
|
||||
|
||||
free_all_edge_infos ();
|
||||
|
||||
/* Thread jumps, creating duplicate blocks as needed. */
|
||||
cfg_altered |= thread_through_all_blocks ();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user