This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Finally a main line version that passes LAPACK's test suite ...
- To: Mark Mitchell <mark at markmitchell dot com>, egcs at egcs dot cygnus dot com
- Subject: Re: Finally a main line version that passes LAPACK's test suite ...
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Sun, 28 Feb 1999 11:58:35 +0100
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
Mark,
You wrote (concerning the growth in RSS I saw with our NWP code):
If -fno-strict-aliasing makes the expansion go away, that will
confirm this hypothesis.
Well, it did remove most of the (otherwise unexplained) growth - I'm now
back at 47 Mbytes (was 54 Mb without -fno-strict-aliasing and 43Mb a
month ago).
Unfortunately, I still do not understand this. I thought that your
alias-setting of stack slots was meant to prevent overwriting a stack
slot still in use (because of aliasing between temporary variables) ?
*We* certainly do not have close to 2 million temporary single precision
variables ! The whole model state is just 5 variables x 110 x 100 x 31
x 4 bytes ~ 7 Mbyte ...
One of your recommendations mentions:
o Don't use -fstrict-aliasing. This might make sense if type-based
alias analysis is not useful in Fortran. In the long run, we plan
to use alias sets for other things as well, like temporary
variables, so this might not be a great long-term solution.
Well, yes. The aliasing rules in Fortran are very simple: If the
compiler can't see that two items might overlap, they shouldn't (or else
....) Types do not play a role in the aliasing rules.
Hope this makes things clear,
--
Toon Moene (toon@moene.indiv.nluug.nl)
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Phone: +31 346 214290; Fax: +31 346 214286
g77 Support: fortran@gnu.org; egcs: egcs-bugs@cygnus.com