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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Before that commit, we had:
  <bb 9> [local count: 357878150]:
  # iftmp.0_19 = PHI <iftmp.0_11(8), 0(17), 0(12)>
<L15>:
  # DEBUG i => iftmp.0_19
  # DEBUG e => 0
  if (iftmp.0_19 != 0)
before dom2 and dom2 turned it into:
  <bb 8> [local count: 275904678]:
  # iftmp.0_45 = PHI <iftmp.0_11(7), 0(13)>
<L15>:

  <bb 9> [local count: 357878150]:
  # iftmp.0_19 = PHI <iftmp.0_45(8), 0(10)>
  # DEBUG i => iftmp.0_19
  # DEBUG e => 0
  if (iftmp.0_19 != 0)
After that change, we have before dom2:
  <bb 9> [local count: 357878150]:
  # iftmp.0_19 = PHI <iftmp.0_11(8), 0(17), 0(12)>
  # DEBUG i => iftmp.0_19
  # DEBUG e => 0
<L15>:
  if (iftmp.0_19 != 0)
and dom2 turns that into:
  <bb 8> [local count: 275904678]:
  # iftmp.0_45 = PHI <iftmp.0_11(7), 0(13)>
  # DEBUG i => iftmp.0_19
  # DEBUG e => 0
<L15>:

  <bb 9> [local count: 357878150]:
  # iftmp.0_19 = PHI <iftmp.0_45(8), 0(10)>
  if (iftmp.0_19 != 0)
which is of course invalid.

Reply via email to