This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Implement stack arrays even for unknown sizes
With the new patch (+the fix for the uninitialized tmp), the polyhedron
tests pass:
================================================================================
Date & Time : 11 Apr 2011 21:20:59
Test Name : pbharness
Compile Command : gfc %n.f90 -Ofast -funroll-loops -ftree-loop-linear -fomit-frame-pointer -finline-limit=600 -fwhole-program -flto -fstack-arrays -o %n
Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times : 300.0
Target Error % : 0.200
Minimum Repeats : 2
Maximum Repeats : 5
Benchmark Compile Executable Ave Run Number Estim
Name (secs) (bytes) (secs) Repeats Err %
--------- ------- ---------- ------- ------- ------
ac 8.10 54576 8.16 2 0.0000
aermod 172.91 1468672 18.58 2 0.1884
air 25.79 89992 6.81 5 0.1852
capacita 15.01 101384 40.50 2 0.0012
channel 3.43 34448 2.98 5 0.2042
doduc 27.18 212280 27.25 2 0.0220
fatigue 9.87 85264 7.07 2 0.0636
gas_dyn 23.07 135944 4.72 2 0.0636
induct 23.90 185600 14.24 2 0.1194
linpk 2.54 21536 21.74 2 0.0207
mdbx 9.11 84776 12.51 2 0.0080
nf 15.29 87848 19.06 2 0.1862
protein 28.07 155624 35.40 2 0.0268
rnflow 38.21 183696 26.76 2 0.0374
test_fpu 19.94 141720 10.87 2 0.0598
tfft 1.70 22072 3.29 2 0.0759
Geometric Mean Execution Time = 12.33 seconds
================================================================================
Polyhedron Benchmark Validator
Copyright (C) Polyhedron Software Ltd - 2004 - All rights reserved
For comparison the results without -fstack-arrays are
================================================================================
Date & Time : 11 Apr 2011 21:59:38
Test Name : pbharness
Compile Command : gfc %n.f90 -Ofast -funroll-loops -ftree-loop-linear -fomit-frame-pointer -finline-limit=600 -fwhole-program -flto -o %n
Benchmarks : ac aermod air capacita channel doduc fatigue gas_dyn induct linpk mdbx nf protein rnflow test_fpu tfft
Maximum Times : 300.0
Target Error % : 0.200
Minimum Repeats : 2
Maximum Repeats : 5
Benchmark Compile Executable Ave Run Number Estim
Name (secs) (bytes) (secs) Repeats Err %
--------- ------- ---------- ------- ------- ------
ac 8.11 54576 8.17 2 0.0061
aermod 173.69 1472520 18.81 2 0.1063
air 25.43 89992 6.79 2 0.0516
capacita 13.47 101344 40.33 2 0.0012
channel 3.11 34448 2.97 5 0.2000
doduc 27.33 212280 27.25 2 0.0239
fatigue 10.08 81128 4.71 2 0.0212
gas_dyn 24.89 144112 4.68 5 0.2030
induct 23.86 185600 14.26 3 0.1813
linpk 2.53 21536 21.75 2 0.0460
mdbx 9.44 84776 12.50 2 0.0920
nf 30.54 120568 28.22 5 0.2760
protein 28.05 155624 35.55 2 0.0928
rnflow 37.60 183696 26.83 2 0.0075
test_fpu 20.20 145816 11.07 2 0.0135
tfft 1.67 22072 3.30 4 0.1569
Geometric Mean Execution Time = 12.33 seconds
================================================================================
Polyhedron Benchmark Validator
Copyright (C) Polyhedron Software Ltd - 2004 - All rights reserved
Valgrind does not report any error for capacita, however it requires
--max-stackframe=8118496 for nf (--max-stackframe=6118496 yields
many errors).
Thanks for the work.
Dominique