https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122727
--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Andrew Pinski <[email protected]>: https://gcc.gnu.org/g:94d8ce172848b39de198eb7f6e07ccd3685ef66e commit r16-6107-g94d8ce172848b39de198eb7f6e07ccd3685ef66e Author: Andrew Pinski <[email protected]> Date: Sat Dec 13 01:23:13 2025 -0800 final_cleanupcfg: Make sure TODO_cleanup_cfg is unset While I was looking into the code generation of PR 122727, I noticed that TODO_cleanup_cfg could be set from the call to execute_fixup_cfg even though cleanupcfg did nothing afterwards. This means the forwarder blocks that were just created with make_forwarders_with_degenerate_phis are being removed. Instead of conditionally unsetting TODO_cleanup_cfg, unconditionally unset TODO_cleanup_cfg after the call to make_forwarders_with_degenerate_phis. Since we already did the cleanup (maybe twice). Bootstrapped and tested on x86_64-linux-gnu. PR tree-optimization/46555 gcc/ChangeLog: * tree-cfgcleanup.cc (execute_cleanup_cfg_post_optimizing): Unconditionally set TODO_cleanup_cfg. Signed-off-by: Andrew Pinski <[email protected]>
