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

--- Comment #34 from Jeffrey A. Law <law at gcc dot gnu.org> ---
I've always wanted to see us be able to push something like those matched
conversions down through the PHI.

That would make the code look like:

  if (x.1_1 > 255)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _2 = -x_5(D);
  _3 = _2 >> 31;
  goto <bb 5>; [INV]

  <bb 4> :

  <bb 5> :
  # tmp = PHI <_3, x_5(4)>
  iftmp.0_4 = (uint8_t) tmp

And presumably we'd clean up the empty bb4 which would in turn unblock other
optimizations.

Is that what you're working on?

Reply via email to