https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109530
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-04-17 Blocks| |24639 Keywords| |missed-optimization Ever confirmed|0 |1 Status|UNCONFIRMED |NEW CC| |rguenth at gcc dot gnu.org --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Well, it actually diagnoses <bb 2> [local count: 1073741824]: f_4(ab) = f_9(D); ... :/ So this is really an artifact of imperfect SSA form where we fail to prune the PHI for 'f' before the first setjmp (into-SSA rewrite doesn't honor scopes). It's ethread that produces this copy by threading the loop header checks and turning their PHIs into copies. Btw, uninit diagnostics rely on the default defs eventually appearing in PHIs for the may uninit case so we cannot simply skip such copies. SSA_NAME_OCCURS_IN_ABNORMAL_PHI is also quite sticky, it's there from original SSA and not removed after inlining ry_init. When removing an abnormal edge we'd have to check all other uses of destination PHI arguments to validate clearing the flag. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639 [Bug 24639] [meta-bug] bug to track all Wuninitialized issues