------- Comment #8 from rguenth at gcc dot gnu dot org  2010-03-21 23:05 -------
(In reply to comment #7)
> The problem is that copyprop does this change:
> 
> @@ -25,7 +25,7 @@
>    <bb 12>:
>      # .MEM_16 = PHI <.MEM_18(10), .MEM_20(11)>
>      # s_66 = PHI <s_1(10), s_1(11)>
> -    s_13 = s_66;
> +    s_13 = s_1;
>      goto <bb 16> (got_it);
> 
>    }
> 
> then verify_loop_closed_ssa () complains about the fact that s_1 is
> defined in loop_1 and used outside loop_1 in a non close-phi node.

Ah, copyprop avoids _single_ arg PHIs because that may break loop-closed
SSA form.  Why does loop closed SSA form suddenly have double-arg
loop-closed PHI nodes?

Indeed Sebastians patch is a non-suitable hammer.  Copyprop already tries
to avoid breaking loop-closed SSA form.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43464

Reply via email to