https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109237
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- cfg cleanup : 10.35 ( 5%) 0.00 ( 0%) 10.36 ( 4%) 7072 ( 0%) trivially dead code : 29.89 ( 14%) 0.00 ( 0%) 29.89 ( 13%) 352 ( 0%) tree CFG cleanup : 10.41 ( 5%) 0.00 ( 0%) 10.44 ( 4%) 90k ( 0%) ... tree operand scan : 11.85 ( 6%) 8.90 ( 32%) 20.93 ( 9%) 4074k ( 0%) ... backwards jump threading : 12.18 ( 6%) 7.53 ( 27%) 19.66 ( 8%) 2549M ( 37%) ... expand : 9.37 ( 4%) 0.35 ( 1%) 9.72 ( 4%) 2177M ( 31%) ... scheduling 2 : 19.13 ( 9%) 3.44 ( 13%) 22.57 ( 10%) 746M ( 11%) ... variable tracking : 6.84 ( 3%) 0.00 ( 0%) 6.84 ( 3%) 27M ( 0%) >From what I can tell it is just there are a lot (much more) more debug statements causing the influence here ... And the slow down is not just in one location either. Note the above is the trunk with --enable-checking=yes but with -fno-checking added to not take into account the gimple verifications which also slow it down even further.