http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45810
Jack Howarth <howarth at nitro dot med.uc.edu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |howarth at nitro dot
| |med.uc.edu
--- Comment #23 from Jack Howarth <howarth at nitro dot med.uc.edu> 2011-01-24
17:58:00 UTC ---
(In reply to comment #22)
> That FRE pass should be after pass_sra_early (certainly after
> pass_build_ealias).
Index: gcc/passes.c
===================================================================
--- gcc/passes.c (revision 169145)
+++ gcc/passes.c (working copy)
@@ -767,6 +767,7 @@ init_optimization_passes (void)
locals into SSA form if possible. */
NEXT_PASS (pass_build_ealias);
NEXT_PASS (pass_sra_early);
+ NEXT_PASS (pass_fre);
NEXT_PASS (pass_copy_prop);
NEXT_PASS (pass_merge_phi);
NEXT_PASS (pass_cd_dce);
gives Elapsed CPU time = 8.43600E+00 for
gfortran -O3 -ffast-math -funroll-loops -flto -fwhole-program fatigue.f90 -o
fatigue
and Elapsed CPU time = 4.16600E+00 for
gfortran -O3 -ffast-math -funroll-loops -finline-limit=250 --param
large-function-growth=250 -flto -fwhole-program fatigue.f90 -o fatigue