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.