This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/43464] copy prop breaks loop closed SSA form



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]