https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80960
--- Comment #13 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- With -O2, the combiner takes up quite a lot of time: $ time gfortran -ftime-report -g0 -O2 -fdefault-integer-8 -c fe_objective.f90 alias stmt walking : 15.75 ( 4%) 0.11 ( 5%) 15.89 ( 4%) 2 kB ( 0%) dead store elim2 : 10.49 ( 2%) 0.33 ( 16%) 10.82 ( 3%) 1578727 kB ( 35%) combiner : 346.20 ( 81%) 0.89 ( 44%) 347.17 ( 81%) 2701135 kB ( 60%) TOTAL : 428.68 2.01 430.83 4504484 kB With -O1, this now has as biggest consumers of cycles alias stmt walking : 11.80 ( 31%) 0.04 ( 13%) 11.78 ( 31%) 2 kB ( 0%) integrated RA : 5.61 ( 15%) 0.06 ( 20%) 5.67 ( 15%) 34896 kB ( 10%) LRA hard reg assignment : 4.69 ( 12%) 0.00 ( 0%) 4.69 ( 12%) 0 kB ( 0%) TOTAL : 37.68 0.30 38.00 364905 kB which does not look too bad (and memory consumption has remained constant). Note that this is with checking enabled.