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

Reply via email to