This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

My GCC Summit paper about Fortran Front End optimizations is accepted ...


... now the only thing I have to do is get it right.

There are at least two issues I have to get right:

1. List all cases of relevant code optimization in the Fortran Front
   End.
2. Acknowledge the right persons for coding them.

This is my initial attempt at fulfilling points 1 and 2:

a. Treating a reduction operator on an array expression as special,
   so that no temporary is used for the result of the array expression.

Classic; probably by Paul Brook or Steven Bosscher.

b. Inlining of DOT_PRODUCT.
   After inlining, this is a special case of a.

   Paul Thomas ?
                         T
c. Special treatment of A . B

FX Coudert ?

d. Non-overlapping of lhs and rhs in array assignment.

Roger Sayle.

e. Optimization of WHERE masks (FORALL ?).

Roger Sayle.

f. Purification and Constification of intrinsic procedures.
   OK, that's an odd one out.

Andrew Pinski.

...

More examples welcome - if possible, please include an URL to the gcc-patches e-mail that contains the relevant patch - thanks.

After the existing examples (which are basically peephole optimizations), I will wax philosophically about classical optimization strategies like Common Subexpression Elimination (hey, I bought the Dragon Book in 1982 - that's a quarter of a century ago) and how it assumes that temporary storage is free, while that isn't true for whole array expression optimizations ...

I intend to send the draft of the paper to the named persons. If you want to see it too - to comment on it, please let me know.

Everyone who sends in a comment that's used will be acknowledged (whew, that's a way to make a 10-page paper out of a 6-page one :-)

Thanks in advance.

--
Toon Moene - e-mail: toon@moene.indiv.nluug.nl - phone: +31 346 214290
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
At home: http://moene.indiv.nluug.nl/~toon/
Who's working on GNU Fortran: http://gcc.gnu.org/ml/gcc/2007-01/msg00059.html



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]