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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
There are a difference in .optimized with respect to debug statements:
GCC 13:
  # DEBUG i => 0

vs
GCC trunk:
  # DEBUG i => NULL

This is in BB 5.

The change in Debug statements happened starting in ch2.

Before ch2:
  <bb 5> [local count: 715863673]:
  # DEBUG BEGIN_STMT
  _3 = state[i_8];
  _4 = _3->sample1;
  _5 = _4 + 1;
  _3->sample1 = _5;
  # DEBUG BEGIN_STMT
  i_23 = i_8 + 1;
  # DEBUG i => i_23

  <bb 6> [local count: 1073741824]:
  # i_8 = PHI <0(4), i_23(5)>
  # DEBUG i => i_8
  # DEBUG BEGIN_STMT
  if (channelCount.1_1 > i_8)
    goto <bb 5>; [66.67%]
  else
    goto <bb 7>; [33.33%]

After:
  <bb 5> [local count: 715863673]:
  # i_9 = PHI <i_23(5), 0(4)>
  # DEBUG BEGIN_STMT
  _3 = state[i_9];
  _4 = _3->sample1;
  _5 = _4 + 1;
  _3->sample1 = _5;
  # DEBUG BEGIN_STMT
  i_23 = i_9 + 1;
  # DEBUG i => i_23
  # DEBUG i => i_23
  # DEBUG BEGIN_STMT
  if (channelCount.1_1 > i_23)
    goto <bb 5>; [66.67%]
  else
    goto <bb 6>; [33.33%]


While in GCC 13 after ch2 looks like:
  <bb 5> [local count: 715863673]:
  # i_9 = PHI <i_23(5), 0(4)>
  # DEBUG i => i_9
  # DEBUG BEGIN_STMT
  _3 = state[i_9];
  _4 = _3->sample1;
  _5 = _4 + 1;
  _3->sample1 = _5;
  # DEBUG BEGIN_STMT
  i_23 = i_9 + 1;
  # DEBUG i => i_23
  # DEBUG i => i_23
  # DEBUG BEGIN_STMT
  if (channelCount.1_1 > i_23)
    goto <bb 5>; [66.67%]
  else
    goto <bb 6>; [33.33%]

Notice the `i => i_9` debug statement which is now missing.

Reply via email to