RFC: Patch to implement the fortran matmul/transpose optimisation
Steve Kargl
sgk@troutmask.apl.washington.edu
Thu Aug 25 18:14:00 GMT 2005
On Thu, Aug 25, 2005 at 11:20:44AM +0100, Richard Sandiford wrote:
>
> At the moment, we don't have an easy way of determining the intent
> of an intrinsic function argument. The patch therefore treats all
> such arguements as having unknown intent. Thus:
>
> b = matmul (transpose (a), a)
>
> will not be optimised, because we assume that the second argument
> to matmul() might not be intent(in). This can be cleaned up later
> if we ever have a direct representation of an intrinic function's
> interface.
>
I don't understand this statement. All standard intrinsic procedures
are pure (See 13.1). Section 12.6 in draft F2003 standard I have on
hand, states
C1266 The specification-part of a pure function subprogram shall
specify that all its nonpointer dummy data objects have
INTENT(IN).
Thus, we know that transpose(a) and a have intent(in) in the above
statement. What am I missing?
--
steve
More information about the Fortran
mailing list