[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