+2005-09-13 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimize/23817
+ * tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
+
2005-09-13 Alan Modra <amodra@bigpond.net.au>
PR target/23774
{
tree def = PHI_RESULT (phi), use = PHI_ARG_DEF (phi, 0);
tree copy;
-
- if (!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
+ loop closed ssa phi nodes. */
+ if (current_loops
+ && is_gimple_reg (def)
+ && TREE_CODE (use) == SSA_NAME
+ && a->loop_father != b->loop_father)
+ may_replace_uses = false;
+
+ if (!may_replace_uses)
{
gcc_assert (is_gimple_reg (def));