Commit 7c8eb293 by Zdenek Dvorak Committed by Zdenek Dvorak

tree-cfg.c (tree_merge_blocks): Preserve loop exit phi nodes only in loop closed ssa.

	* tree-cfg.c (tree_merge_blocks): Preserve loop exit phi nodes only
	in loop closed ssa.

From-SVN: r127119
parent 592c303d
2007-08-01 Zdenek Dvorak <ook@ucw.cz> 2007-08-01 Zdenek Dvorak <ook@ucw.cz>
* tree-cfg.c (tree_merge_blocks): Preserve loop exit phi nodes only
in loop closed ssa.
2007-08-01 Zdenek Dvorak <ook@ucw.cz>
* tree-ssa-threadupdate.c (thread_through_all_blocks): Record that * tree-ssa-threadupdate.c (thread_through_all_blocks): Record that
the loop structures may need fixing. the loop structures may need fixing.
* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures): * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
......
...@@ -1274,9 +1274,10 @@ tree_merge_blocks (basic_block a, basic_block b) ...@@ -1274,9 +1274,10 @@ tree_merge_blocks (basic_block a, basic_block b)
tree copy; tree copy;
bool may_replace_uses = may_propagate_copy (def, use); bool may_replace_uses = may_propagate_copy (def, use);
/* In case we have loops to care about, do not propagate arguments of /* In case we maintain loop closed ssa form, do not propagate arguments
loop closed ssa phi nodes. */ of loop exit phi nodes. */
if (current_loops if (current_loops
&& (current_loops->state & LOOP_CLOSED_SSA)
&& is_gimple_reg (def) && is_gimple_reg (def)
&& TREE_CODE (use) == SSA_NAME && TREE_CODE (use) == SSA_NAME
&& a->loop_father != b->loop_father) && a->loop_father != b->loop_father)
......
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