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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Drea Pinski from comment #2)
> (In reply to Richard Biener from comment #1)
> > I'll mention tail merging here (which can only merge full equal blocks, not
> > tails of blocks).
> 
> I looked into that, there is a bug about changing tail merging over to use
> ICF hashing and equals (PR 70032). Though there has been no progress on that
> one for 10 years.

Yes.  I don't know how effective it still is, but I wouldn't mind dropping
tail-merging completely.  What I wanted to say is that we have an actual
separate pass for such kind of transform (and an optimization flag), maybe we
want to structure all this "commoning code by sinking" in a similar way.  We
have -fcode-hoisting as well, for the "commmoning code by hoisting" case.

Though all the sinking commoning is guided by merge PHIs, thus "phiopt"
and "if-conversion" technically matches as well.

Reply via email to