https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98845
--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Arseny Solokha from comment #11) > It should be labeled [12 Regression] again, then, as the issue is still > there on trunk. w/ -O2 -fno-tree-dce -fno-tree-dse (possibly with -fno-tree-dse also for the testcase in the description) int n; __attribute__ ((returns_twice)) void foo (void); void bar (void); void quux (int x) { if (x) ++x; else { if (n) { x = 1; foo (); } else bar (); if (n) { ++x; ++n; } } }