https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119482
--- Comment #20 from Richard Biener <rguenth at gcc dot gnu.org> --- As 78% of the time is spent in var-tracking I'd suggest to try -g1 or even -g0. Alternatively -g -fno-var-tracking. var-tracking has the issue that once the function gets comparatively big the and the working set thus does no longer fit into cache you get memory trashing and quite a bit of a slowdown. The same is true for the other big items (DF and PTA), those can end up memory bound as well. Flatten tends to create huge functions, so in some sense you get what you ask for. It's a powerful yet dangerous tool.