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

--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
  <bb 7> [local count: 1073741824]:
  # a$1_18 = PHI <a$1_30(6), a$2_19(5), _3(8)>
  # a$2_20 = PHI <a$2_19(6), a$1_30(5), _1(8)>
  # a$0_29 = PHI <a$0_16(6), a$0_16(5), _6(8)>

So if we split out the edges 6/5 and make a forwarder block, then this block
will only have a phi for a$0_29 and the new forwarder block would have 2 for
a$1_18 and a$2_20. which then might be better.

I think make_forwarders_with_degenerate_phis only tries to have only handle the
case where there are phi nodes and the only difference for the new forwarder
block would be the vop. so we need to have an agreessive form for this case
here.
Which is why I said this might have to wait for GCC 17 but maybe I can finish
this up this weekend ...

Reply via email to