[Fortran-CAF, Patch, committed] Add caf_send intrinsic

Tobias Burnus burnus@net-b.de
Sat Mar 15 09:57:00 GMT 2014


The patch adds a new internal-only intrinsic "caf_send", which replaces 
assignments to coindexed variables, i.e.
     caf[i] = rhs
becomes
    _F.caf_send (caf[i], rhs, async=.false.)

The idea is that this replacement makes it easier to do optimizations in 
the front-end optimization pass (fortran/frontend-passes.c) - for 
instance, by turning the caf_send(...async=.false.) into a pair of 
async=.true. and a later wait.

In addition, it was the simplest way to divert the access into a 
dedicated function in trans-intrinsic.c

This patch only adds the intrinsic - and the (disabled, "false &&") 
replacement of the assignment by a the intrinsic call. The actual 
handling in trans-intrinsic.c is still missing. Teaser: I do have a 
working & tested patch, which implements the library call, but that 
patch still needs some clean up.

Committed to the Fortran-CAF branch as Rev. 208589

Tobias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: committed.diff
Type: text/x-patch
Size: 3823 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140315/0b06ade6/attachment.bin>


More information about the Gcc-patches mailing list