https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106938
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:cd14c97cd92ca11c66ee3d8dc4dd543c5aa8e024 commit r13-2664-gcd14c97cd92ca11c66ee3d8dc4dd543c5aa8e024 Author: Richard Biener <rguent...@suse.de> Date: Wed Sep 14 13:53:56 2022 +0200 tree-optimization/106938 - cleanup abnormal edges after inlining After inlining and IPA transforms we run fixup_cfg to fixup CFG effects in other functions. But that fails to clean abnormal edges from non-pure/const calls which might no longer be necessary when ->calls_setjmp is false. The following ensures this happens and refactors things so we call EH/abnormal cleanup only on the last stmt in a block. PR tree-optimization/106938 * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal edges for all last stmts in a block. Do EH cleanup only on the last stmt in a block. * gcc.dg/pr106938.c: New testcase.