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

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I am trying to understand something here:
```
  <bb 5> [local count: 8687547538]:
  _11 = j_lsm.17_4 + 1;
  _12 = s_lsm.19_35 > 2;
  _13 = s_lsm.19_35 == 0;
  _22 = _12 | _13;
  _30 = (int) _22;
  _15 = _30 * -3;
  _3 = _15 + s_lsm.19_35;

  b.8_16 = (unsigned char) s_lsm.19_35;
  _17 = b.8_16 + 5;
  _18 = (char) _17;
  _19 = (int) _18;

  <bb 6> [local count: 9761289362]:
  # g_lsm_flag.16_9 = PHI <0(3), 1(5)>
  # j_lsm.17_4 = PHI <j_lsm.17_39(3), _11(5)>
  # f_lsm.18_6 = PHI <_40(D)(3), _3(5)>
  # s_lsm.19_35 = PHI <-190201409(3), _19(5)>
  if (s_lsm.19_35 <= 4)
    goto <bb 5>; [89.00%]
  else
    goto <bb 7>; [11.00%]
```

Seems like we should have done a copy header here. 
But we don't have a ch for -Os in this case.

Reply via email to