This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/48636] Enable more inlining with -O2 and higher
- From: "dominiq at lps dot ens.fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 17 Oct 2012 13:13:24 +0000
- Subject: [Bug fortran/48636] Enable more inlining with -O2 and higher
- Auto-submitted: auto-generated
- References: <bug-48636-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48636
--- Comment #24 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-10-17 13:13:24 UTC ---
Summary for the polyhedron tests (pb05):
(a) revision 192449 unpatched
(b) revision 192516 with patch in comment #20
options: -fprotect-parens -Ofast -funroll-loops -ftree-loop-linear \
-fomit-frame-pointer -fwhole-program -flto -fno-tree-loop-if-convert
Benchmark Compile Executable Ave Run
Name (secs) (bytes) (secs)
(a) (b) (a) (b) (a) (b)
--------- ------- ------- ---------- ---------- ------- -------
ac 6.30 9.66 54904 54856 9.12 8.49
aermod 129.56 178.13 1158904 1527680 17.69 17.28
air 25.64 29.95 102752 106712 7.15 7.16
capacita 6.34 18.99 69096 130536 42.00 40.57
channel 2.99 3.51 34736 34736 3.03 3.02
doduc 19.51 23.70 163528 196016 27.54 27.65
fatigue 7.03 7.54 69312 69248 4.92 2.94
gas_dyn 14.65 14.91 99320 99280 3.72 3.88
induct 19.50 21.02 149160 161552 13.18 13.14
linpk 1.84 2.91 22008 17832 21.65 21.69
mdbx 6.59 10.14 68800 80968 12.85 12.78
nf 6.34 24.25 59544 104544 18.95 18.88
protein 22.27 46.34 119056 156048 35.65 35.41
rnflow 17.75 31.23 114600 147280 23.56 23.54
test_fpu 10.69 20.66 76640 117512 10.89 10.95
tfft 1.62 2.93 22424 22384 3.34 3.33
Geometric Mean Execution Time = (a) 11.88 seconds (b) 11.43 seconds
I also see many failures for the gcc.dg/tree-ssa/slsr-* tests: slsr-2.c to
slsr-11.c, slsr-14.c to slsr-20.c, slsr-24.c, and slsr-25.c, and for
gfortran.dg/vect/vect-8.f90: the loop
do while(ii > 1)
ipnt= ipntp
ipntp= ipntp+ii
ii= ishft(ii,-1)
i= ipntp+1
!dir$ vector always
x(ipntp+2:ipntp+ii+1)=x(ipnt+2:ipntp:2)-v(ipnt+2:ipntp:2) &
&*x(ipnt+1:ipntp-1:2)-v(ipnt+3:ipntp+1:2)*x(ipnt+3:ipntp+1:2)
END DO
is not vectorized because
154: not vectorized: complicated access pattern.