This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.


[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]

Re: Finally a main line version that passes LAPACK's test suite ...



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