https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72712
--- Comment #4 from Martin Jambor <jamborm at gcc dot gnu.org> --- (In reply to Richard Biener from comment #3) > Btw, is the compile-time spent in the threading or in followup passes that > blow up with the large number of BBs? > I was quite surprised because the original file tended to die in various after-pass TODOs, but it seems that half of it is threading itself: These are excerpts from release-checking compiler -O2 time report: phase opt and generate : 253.88 (100%) usr 0.81 (99%) sys 254.88 (100%) wall 702308 kB (99%) ggc tree CFG cleanup : 38.68 (15%) usr 0.00 ( 0%) sys 38.69 (15%) wall 2543 kB ( 0%) ggc tree SSA incremental : 66.79 (26%) usr 0.03 ( 4%) sys 66.85 (26%) wall 33289 kB ( 5%) ggc backwards jump threading: 117.38 (46%) usr 0.07 ( 9%) sys 117.43 (46%) wall 355352 kB (50%) ggc cfg cleanup : 4.16 ( 2%) usr 0.00 ( 0%) sys 4.15 ( 2%) wall 25782 kB ( 4%) ggc However, checking=yes -O2 compilation does not differ very much: phase opt and generate : 337.87 (100%) usr 0.96 (98%) sys 338.87 (100%) wall 719371 kB (99%) ggc CFG verifier : 9.66 ( 3%) usr 0.00 ( 0%) sys 9.68 ( 3%) wall 0 kB ( 0%) ggc tree CFG cleanup : 43.23 (13%) usr 0.01 ( 1%) sys 43.28 (13%) wall 2998 kB ( 0%) ggc tree SSA incremental : 76.06 (22%) usr 0.09 ( 9%) sys 76.01 (22%) wall 33289 kB ( 5%) ggc backwards jump threading: 150.05 (44%) usr 0.05 ( 5%) sys 150.10 (44%) wall 365739 kB (50%) ggc in both cases, everything else is <3%.