New loop optimizations in gfortran 4.4

Harald Anlauf anlauf@gmx.de
Mon Sep 22 22:00:00 GMT 2008


Dear gfortran developers,

I read with excitement that gcc-4.4 (and thus gfortran)
will support new loop optimizations like loop interchange,
strip mining and loop blocking.  Optimizations of this
type are found in e.g. some proprietary compilers for
(expensive) vector architectures and are essential for
achieving high performance on these platforms.
Sometimes there is need for fine-grained control of
these transformations, which can be achieved by suitable
compiler directives in the source code.  E.g. one can
suppress loop interchange, or in the case of a triple
loop one can control the order of loops via a
"!cdir noloopchg" or "!cdir loopchg(i)".  Similarly for
unrolling of outer loops etc.

Assuming that the Graphite framework supports such
constraints (in principle), are there any (long term)
plans to implement similar compiler directives in the
gcc collection and in particular in gfortran?

Cheers,
Harald



More information about the Fortran mailing list