AFAICT revision 172430 fixed the original problem in pr45810: gfc -Ofast -fwhole-program fatigue.f90 : 6.301u 0.003s 0:06.30 gfc -Ofast -fwhole-program -flto fatigue.f90 : 6.263u 0.003s 0:06.26
However if I play with --param max-inline-insns-auto=*, I get gfc -Ofast -fwhole-program --param max-inline-insns-auto=124 -fstack-arrays fatigue.f90 : 4.870u 0.002s 0:04.87 gfc -Ofast -fwhole-program --param max-inline-insns-auto=125 -fstack-arrays fatigue.f90 : 2.872u 0.002s 0:02.87 and gfc -Ofast -fwhole-program -flto --param max-inline-insns-auto=515 -fstack-arrays fatigue.f90 : 4.965u 0.003s 0:04.97 gfc -Ofast -fwhole-program -flto --param max-inline-insns-auto=516 -fstack-arrays fatigue.f90 : 2.732u 0.002s 0:02.73 while I get the same threshold=125 with/without -flto at revision 172429. Note that I get the same thresholds without -fstack-arrays, the run times are only larger. Dominique