Re: [PATCH] Middle-end arrays, forward-ported to trunk (again)

2011-06-22 Thread Michael Matz
Hi, On Tue, 21 Jun 2011, Richard Guenther wrote: I failed to see where the scalarizer inserts the temporary vars it creates into the scope blocks (thus the gimplify.c hunk ...). Any help here is welcome. The scoping of the scalarizer is a bit funny. gfc_start_scalarized_body sets up

Re: [PATCH] Middle-end arrays, forward-ported to trunk (again)

2011-06-21 Thread Richard Guenther
On Tue, 21 Jun 2011, Richard Guenther wrote: This forward-ports the middle-end array patch. Patch status is the same as with the last forward-port from 2009 - the scalarizer cannot deal with control flow and it cannot insert temporaries when required (so it operates in a mode that requires

Re: [PATCH] Middle-end arrays, forward-ported to trunk (again)

2011-06-21 Thread Paul Richard Thomas
Dear Richi, The point of entry for assignments is in trans-expr.c 06038 tree 06039 gfc_trans_assignment (gfc_expr * expr1, gfc_expr * expr2, bool init_flag, 06040 bool dealloc) 06041 { a bunch of special cases 06088 06089 /* Fallback to the scalarizer to generate

Re: [PATCH] Middle-end arrays, forward-ported to trunk (again)

2011-06-21 Thread Mikael Morin
On Tuesday 21 June 2011 17:08:17 Richard Guenther wrote: The following is a patch^Whack that should handle almost all array exprs. Well, tried on the following testcase: subroutine foo (dst, bar, ni, nj) integer, intent(in) :: ni, nj double precision, intent(in) :: bar(ni, nj)