From 7c8eb2939314e32030ac3aa1ed273589c8044cf8 Mon Sep 17 00:00:00 2001 From: Zdenek Dvorak Date: Wed, 1 Aug 2007 13:41:25 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/tree-cfg.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 46efc5ddf3c..6736648ba09 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-08-01 Zdenek Dvorak + + * tree-cfg.c (tree_merge_blocks): Preserve loop exit phi nodes only + in loop closed ssa. + 2007-08-01 Zdenek Dvorak * tree-ssa-threadupdate.c (thread_through_all_blocks): Record that diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index d0c8fe9b0d2..c24b1c69524 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -1274,9 +1274,10 @@ tree_merge_blocks (basic_block a, basic_block b) tree copy; bool may_replace_uses = may_propagate_copy (def, use); - /* In case we have loops to care about, do not propagate arguments of - loop closed ssa phi nodes. */ + /* In case we maintain loop closed ssa form, do not propagate arguments + of loop exit phi nodes. */ if (current_loops + && (current_loops->state & LOOP_CLOSED_SSA) && is_gimple_reg (def) && TREE_CODE (use) == SSA_NAME && a->loop_father != b->loop_father) -- 2.30.2