Commit revisions (was: Re: [Patch, fortran] [00/21] Remove coarray support in the scalarizer)

2011-10-07 Thread Mikael Morin
On Friday 30 September 2011 18:51:21 Steve Kargl wrote:
> Mikael,
> 
> I've finally made it through the set of patches,
> and did not find anything that raised a red flag.
> I'll note that I did not study the issue/question
> you raised with patch 6.  Tobias is probably the
> best person to offer an opinion.  After pinging
> patch 6 off of Tobias, I think the code can be
> committed.

Thanks, I have (finally) committed the patches.
Here are the commit revisions:
01: 179671
02: 179672
03: 179674
04: 179675
05: 179676
06: skipped
07: 179677
08: 179679
09: 179680
10: 179681
11: 179682
12: 179683
13: 179684
14: 179685
15: 179686
16: 179689
17: 179690
18: 179691
19: 179692
20: 179693
21: 179694

Mikael


Re: [Patch, fortran] [00/21] Remove coarray support in the scalarizer

2011-09-30 Thread Steve Kargl
On Fri, Sep 16, 2011 at 01:08:13AM +0200, Mikael Morin wrote:
> 
> OK for trunk?
> 
> Mikael
> 
> patchset layout:
>  - patches 1..4: 
>   Preliminary cleanups.
>   Those are quite independant on the rest.
>   Patch 4 is optional.
> 
>  - patches 5..13: 
>   Step by step move from scalarizer-provided cobounds setup code
>   to explicit specific code in gfc_conv_expr_descriptor.
>   Patch 6 is a request for explaination and is not intended for check-in.
> 
>  - patch 14:
>   Fixes a regression.
> 
>  - patches 15..21:
>   This is the point of all the rest: remove coarray-specific code in the
>   scalarizer.

Mikael,

I've finally made it through the set of patches,
and did not find anything that raised a red flag.
I'll note that I did not study the issue/question
you raised with patch 6.  Tobias is probably the
best person to offer an opinion.  After pinging
patch 6 off of Tobias, I think the code can be
committed.

-- 
Steve


Re: [Patch, fortran] [00/21] Remove coarray support in the scalarizer

2011-09-22 Thread Steve Kargl
On Fri, Sep 16, 2011 at 01:08:13AM +0200, Mikael Morin wrote:
> Hello,
> 
> the scalarizer is there to generate loops for assignments over more than
> one element. Tobias extended it at various places to support coarrays,
> but this should not be necessary as coarrays in assignments either refer
> to the array present on the local image or to the one on the remote image
> (in which case a local temporary is created). In either case the coarray
> is seen as a normal array by the assignment code, which makes the point
> of having coarray-specific handling in the scalarizer moot.
> 
> In fact the reason for the presence of coarrays in the scalarizer is that
> gfc_conv_expr_descriptor uses the scalarizer to setup array (co)bounds.
> 
> This patch serie removes the coarray-specific code in the scalarizer, and
> replaces it with some additional cobound setup code in 
> gfc_conv_expr_descriptor.
> It is supposed to make the code easier to grasp by having a scalarizer free of
> coarray stuff (it is complicated enough without it), and by having cobound
> setup code gathered in a single place.
> The downside is that it makes gfc_conv_expr_descriptor even bigger than it was
> already.
> 
> Every patch has been tested by incremental bootstrap and running the fortran
> testsuite with RUNTESTLAGS=caf.exp and RUNTESTFLAGS="dg.exp=*coarray*".
> The last one has also passed a full fortran regression test.
> 
> OK for trunk?
> 

I've read through the first 10 patches, and in general I like
the clean separation that you're trying to achieve.  Given that
this effects co-arrays I was expecting Tobias to quickly respond,
but it seems he is busy with other obligations.  I'll try to go
through the entire patch set on Saturday.

-- 
Steve


[Patch, fortran] [00/21] Remove coarray support in the scalarizer

2011-09-15 Thread Mikael Morin
Hello,

the scalarizer is there to generate loops for assignments over more than
one element. Tobias extended it at various places to support coarrays,
but this should not be necessary as coarrays in assignments either refer
to the array present on the local image or to the one on the remote image
(in which case a local temporary is created). In either case the coarray
is seen as a normal array by the assignment code, which makes the point
of having coarray-specific handling in the scalarizer moot.

In fact the reason for the presence of coarrays in the scalarizer is that
gfc_conv_expr_descriptor uses the scalarizer to setup array (co)bounds.

This patch serie removes the coarray-specific code in the scalarizer, and
replaces it with some additional cobound setup code in gfc_conv_expr_descriptor.
It is supposed to make the code easier to grasp by having a scalarizer free of
coarray stuff (it is complicated enough without it), and by having cobound
setup code gathered in a single place.
The downside is that it makes gfc_conv_expr_descriptor even bigger than it was
already.

Every patch has been tested by incremental bootstrap and running the fortran
testsuite with RUNTESTLAGS=caf.exp and RUNTESTFLAGS="dg.exp=*coarray*".
The last one has also passed a full fortran regression test.

OK for trunk?

Mikael


patchset layout:
 - patches 1..4: 
Preliminary cleanups.
Those are quite independant on the rest.
Patch 4 is optional.

 - patches 5..13: 
Step by step move from scalarizer-provided cobounds setup code
to explicit specific code in gfc_conv_expr_descriptor.
Patch 6 is a request for explaination and is not intended for check-in.

 - patch 14:
Fixes a regression.

 - patches 15..21:
This is the point of all the rest: remove coarray-specific code in the
scalarizer.

 check.c   |   34 +---
 expr.c|6 ++
 resolve.c |   35 ++--
 trans-array.c |  248 +++--
 trans-expr.c  |6 +-
 trans-intrinsic.c |   52 +++-
 trans.h   |8 +-
 7 files changed, 180 insertions(+), 209 deletions(-)