https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118801
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note you might also want to use -fno-checking for the trunk. For me: [apinski@xeond2 upstream-gcc-isel]$ time ~/upstream-gcc-isel/bin/gcc t.c -S -g -O3 -fno-var-tracking -fno-checking real 0m10.142s user 0m9.403s sys 0m0.691s [apinski@xeond2 upstream-gcc-isel]$ time ~/upstream-gcc-isel/bin/gcc t.c -S -g -O2 -fno-var-tracking -fno-checking real 0m0.238s user 0m0.182s sys 0m0.014s LRA non-specific : 0.36 ( 4%) 37k ( 0%) scheduling 2 : 1.18 ( 12%) 50M ( 16%) Nothing else stands out. It is spread almost evenly across passes, looking like just unrolling/peeling loops increase compile time as expected.