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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
          Component|c++                         |tree-optimization

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think there's a dup for this somewhere.  Basically we fail to optimize

  if (_2 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> :

  <bb 4> :
  # iftmp.0_10 = PHI <f(2), g(3)>
  _11 = iftmp.0_10 ();

on the GIMPLE level.  It might be tempting to enable tree-ssa-phiprop.c to
transform this into

  if (_2 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> :
    tem1 = f();
    goto bb4;

  <bb 5>:
    tem2 = g();

  <bb 4> :
  # iftmp.0_10 = PHI <tem2(5), tem(3)>
  _11 = iftmp.0_10;

Reply via email to