diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-05-27 11:55:36 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-05-27 11:55:36 +0000 |
commit | 6e3b9e2787800d6fde4828a532cc94d436193701 (patch) | |
tree | 9ce95a8274eddc018ca58ea84940d4f4844d6ef2 | |
parent | fb617f00f1279cec132fda679dadb9b0abe54723 (diff) | |
download | gcc-6e3b9e2787800d6fde4828a532cc94d436193701.zip gcc-6e3b9e2787800d6fde4828a532cc94d436193701.tar.gz gcc-6e3b9e2787800d6fde4828a532cc94d436193701.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/tree-into-ssa.c | 4 | ||||
-rw-r--r-- | gcc/tree-ssa-dom.c | 18 |
3 files changed, 20 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ea4ee96..4c67cab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c index 03561bac..e7ff242 100644 --- a/gcc/tree-into-ssa.c +++ b/gcc/tree-into-ssa.c @@ -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; } diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index 278d27a..cb4abcf 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -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 (); |