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

Drea Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2026-05-20
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot 
gnu.org

--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

I think maybe_remove_forwarder_block is causing the issue so mine.


```
  <bb 14> [local count: 206998870]:
  # c4_41(ab) = PHI <c4_10(ab)(13), c4_29(15)>
  # arr1$0_43(ab) = PHI <arr1$0_25(ab)(13), 9(15)>
  # sj12_44(ab) = PHI <sj12_31(ab)(13), arr1$0_32(15)>
  f8 ();

  <bb 15> [local count: 182536112]:
  # c4_29 = PHI <c4_9(ab)(11)>
  # arr1$0_32 = PHI <arr1$0_36(ab)(11)>
  g26.2_40 = g26;
  goto <bb 14>; [100.00%]
```


Neither of the incoming edges into bb 14 are abnormal but the out going one is.

Let me think about this. Note I suspect this was a latent bug in this code just
not invoked until now since the merging of the phis part is invoked more often.


Maybe the check is the bb_has_abnormal_succ on the non-forwarder block when
there are phis on the forwarder branch.

Reply via email to