[Bug tree-optimization/102138] t = a==0 and a = PHI<0, t> should be done earlier than PRE

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jun 24 02:48:40 GMT 2026


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102138

--- Comment #8 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 64839
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=64839&action=edit
Work in progress

This is my version of the patch; it is still a works in progress. It does not
handle the case where a edge is no-longer excutable which we could use some
fake value for it; maybe 0. 


It also can be slightly more relaxed when accepting a ssa name. Right now the
definition of the ssa name needs not to be in the same bb and the use stmt
needs to be in the same bb.

I wonder if we could also relax the single use case. One other thing is we do
this even for all phis args are the same which we don't need to handle as we
are already going to prop that anyways.


More information about the Gcc-bugs mailing list