http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58318
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |compile-time-hog Status|UNCONFIRMED |NEW Last reconfirmed| |2013-09-05 Version|unknown |4.9.0 Summary|very slow compilation on |very slow compilation on |x86_64-linux with -O3 and |x86_64-linux with -O3 and |-g |-g and checking enabled Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. We completely unroll the loop nest in bar () after inlining foo (). In the -g case we retain a ton of DEBUG_STMTs - 577185 - in a single basic block. So walking all of them causes the slowdown, the walking done by the verifiers - did you compare trunk with --enable-checking=release? I can see the same stmts with using GCC 4.8. A quick check with a non-bootstrapped cc1 but release checking makes the slowdown go away. Still, eventually the checkers may need some speed related TLC.