Sebastian,

I saw you updated the Graphite Wiki page, and I wondered if there are any concrete plans on loop fusion.

The reason I ask is because in Fortran (as of Fortran 90) one often sees assignments like:

REAL, ALLOCATABLE ::  A(:,:), B(:,:), C(:,:), D(:,:), E(:,:), F(:,:)

! ... READ IN EXTEND OF ARRAYS ...

READ*,N

! ... ALLOCATE ARRAYS

ALLOCATE(A(N,N),B(N,N),C(N,N),D(N,N),E(N,N),F(N,N))

! ... READ IN ARRAYS

READ*,A,B

C = A + B
D = A * C
E = B * EXP(D)
F = C * LOG(E)

where the four assignments all have the structure of loops like:

DO I = 1, N
   DO J = 1, N
      X(J,I) = OP(A(J,I), B(J,I))
   ENDDO
ENDDO

Obviously, this could benefit from loop fusion, by combining the four assignments in one loop.

Is that on the horizon ?

Thanks in advance,

--
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

Reply via email to