https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107449
Bug ID: 107449 Summary: CD-DCE fails to eliminate abnormal incoming edges Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-checking, ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org CC: asolokha at gmx dot com Depends on: 107447 Target Milestone: --- +++ This bug was initially created as a clone of Bug #107447 +++ int n; void bar (int, int); __attribute__ ((noinline, returns_twice)) int zero (void) { return 0; } void foo (void) { (void) zero (); n = 0; for (;;) bar (zero (), n); } With this testcase GCC fails to eliminate the abnormal edges into the first zero () call which is elided by CD-DCE. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107447 [Bug 107447] [13 Regression] ICE: verify_flow_info failed (error: returns_twice call is not first in basic block 2)