Steven Bosscher wrote:
I'll see if I can make the intraprocedural version work again before
Christmass. It shouldn't be that much work, actually. But it's be nice
to have some test cases to demonstrate that the intraprocedural
version would do any good.
That would be very nice !
To help to boost the incentive, compare the code I attach, when compiled
separately with gfortran -O3 -S main.f sum.f and what happens when you
inline the loop in sum.f manually into main.f and compile the resulting
file with -O3 -S.
Kind regards,
--
Toon Moene - e-mail: t...@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.org/~toon/
Progress of GNU Fortran: http://gcc.gnu.org/gcc-4.5/changes.html
integer i
real a(10), b(10), c(10)
a = 0.
b = 1.
print '(3(1x,z16))', loc(a), loc(b), loc(c)
call sum(a, b, c, 10)
print *, c(5)
end
subroutine sum(a, b, c, n)
integer i, n
real a(n), b(n), c(n)
do i = 1, n
c(i) = a(i) + b(i)
enddo
end