https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114480
--- Comment #38 from GCC 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:fc23b539caa16a108bd16bcfcb86fe261a9aa174 commit r16-3298-gfc23b539caa16a108bd16bcfcb86fe261a9aa174 Author: Richard Biener <rguent...@suse.de> Date: Wed Aug 20 11:06:53 2025 +0200 tree-optimization/114480 - speedup IDF compute The testcase in the PR shows that it's worth splitting the processing of the initial workset, which is def_blocks from the main iteration. This reduces SSA incremental update time from 44.7s to 32.9s. Further changing the workset bitmap of the main iteration to a vector speeds up things further to 23.5s for an overall nearly halving of the SSA incremental update compile-time and an overall 12% compile-time saving at -O1. Using bitmap_ior in the first loop or avoiding (immediate) re-processing of blocks in def_blocks does not make a measurable difference for the testcase so I left this as-is. PR tree-optimization/114480 * cfganal.cc (compute_idf): Split processing of the initial workset from the main iteration. Use a vector for the workset of the main iteration.