Re: [patch, fortran, RFC] Interchange indices for FORALL and DO CONCURRENT if profitable

2017-10-30 Thread Steve Kargl
On Sat, Oct 28, 2017 at 01:23:30PM +0200, Thomas Koenig wrote: > Hi Steve, > > > On Sat, Oct 28, 2017 at 12:03:58AM +0200, Thomas Koenig wrote: > >> +/* Callback function to determine if an expression is the > >> + corresponding variable. */ > >> + > >> +static int > > static bool > > Most of

Re: [patch, fortran, RFC] Interchange indices for FORALL and DO CONCURRENT if profitable

2017-10-29 Thread Thomas Koenig
Am 28.10.2017 um 00:03 schrieb Thomas Koenig: +typepedef struct { That should have been typdef, obviously - the typo must have slipped in after testing. Regards Thomas

Re: [patch, fortran, RFC] Interchange indices for FORALL and DO CONCURRENT if profitable

2017-10-28 Thread Richard Biener
On October 28, 2017 12:03:58 AM GMT+02:00, Thomas Koenig wrote: >Hello world, > >this is a draft patch which interchanges the indices for FORALL and >DO CONCURRENT loops for cases like PR 82471, where code like > > DO CONCURRENT( K=1:N, J=1:M, I=1:L) > C(I,J,K) = A(I,J,K) + B(I,J,K) > EN

Re: [patch, fortran, RFC] Interchange indices for FORALL and DO CONCURRENT if profitable

2017-10-28 Thread Thomas Koenig
Hi Steve, On Sat, Oct 28, 2017 at 12:03:58AM +0200, Thomas Koenig wrote: +/* Callback function to determine if an expression is the + corresponding variable. */ + +static int static bool Most of the functions in the patch are callback functions for gfc_code_walker or gfc_expr_walker, resp

Re: [patch, fortran, RFC] Interchange indices for FORALL and DO CONCURRENT if profitable

2017-10-27 Thread Steve Kargl
Hi Thomas, In general, I like the idea. I have some minor suggestions below. On Sat, Oct 28, 2017 at 12:03:58AM +0200, Thomas Koenig wrote: > +/* Callback function to determine if an expression is the > + corresponding variable. */ > + > +static int static bool > +has_var (gfc_expr **e, i

[patch, fortran, RFC] Interchange indices for FORALL and DO CONCURRENT if profitable

2017-10-27 Thread Thomas Koenig
Hello world, this is a draft patch which interchanges the indices for FORALL and DO CONCURRENT loops for cases like PR 82471, where code like DO CONCURRENT( K=1:N, J=1:M, I=1:L) C(I,J,K) = A(I,J,K) + B(I,J,K) END DO led to very poor code because of stride issues. Currently, Graphite i