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

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
This is a missed code hoisting opportunity again.

  _6 = a1[i_24];
  _7 = a2[i_24];
  if (_6 < _7)
    goto <bb 6>;
  else
    goto <bb 7>;

  <bb 6>:
  _8 = a3[i_24];
  _22 = MIN_EXPR <_6, _8>;
  goto <bb 8>;

  <bb 7>:
  _9 = a3[i_24];
  _28 = MIN_EXPR <_7, _9>;

  <bb 8>:
  # d_2 = PHI <_22(6), _28(7)>

we fail to hoist/CSE _8/_9 here.  There is another PR speaking about a similar
issue of phiopt / CSE / hoisting interaction.

Reply via email to