From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21288 invoked by alias); 22 Sep 2004 15:12:00 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 21252 invoked from network); 22 Sep 2004 15:11:56 -0000 Received: from unknown (HELO pengo.systems.pipex.net) (62.241.160.193) by sourceware.org with SMTP; 22 Sep 2004 15:11:56 -0000 Received: from nowt.org (81-178-243-14.dsl.pipex.com [81.178.243.14]) by pengo.systems.pipex.net (Postfix) with ESMTP id 3DC4A4C00507; Wed, 22 Sep 2004 16:11:53 +0100 (BST) Received: from wren.home (wren.home [192.168.1.7]) by nowt.org (Postfix) with ESMTP id 15AF9AC92; Wed, 22 Sep 2004 16:11:47 +0100 (BST) From: Paul Brook Organization: CodeSourcery To: fortran@gcc.gnu.org, Canqun Yang Subject: Re: Fortran array format [Was: Scalar Replacement] Date: Wed, 22 Sep 2004 16:17:00 -0000 User-Agent: KMail/1.7 Cc: gcc@gcc.gnu.org References: <20040922150322.A41FB5C76D@ds20.nudt.edu.cn> In-Reply-To: <20040922150322.A41FB5C76D@ds20.nudt.edu.cn> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200409221611.46079.paul@codesourcery.com> X-SW-Source: 2004-09/txt/msg01282.txt.bz2 On Wednesday 22 September 2004 16:03, Canqun Yang wrote: > By now, the problem I encountered is the > representation for array references of Fortran 95. As > Gnu Fortran 95 frontend converts multi-dimensions > arrays to one-dimension array references, it is hard > to recover the number of dimensions and the index of > each dimension for array references. This makes the > dependence relation analysis failed to perform on tree > loops. > > Is there any way to recover those information without > modifying the Fortran 95 frontend? This sounds like what the linear loop transform and scalar evolutions stuff is doing. > Or, if not. How to modify the frontend to satisify > this? The fortran frontend should be changed to use the [relatively] new multiple-argument form of ARRAY_REF. However before that happens we should check with the tree-ssa and loop optimization people that the current ARRAY_REF format does provide the necessary information in an efficient and convenient form. This was discussed a bit at the last GCC summit, although I don't think we reached any conclusions. Basically it would be nice to have some way of communicating fortran array structure to the optimizers. However I don't think anyone's figured out how best to do this, or how it would fit in with out existing optimization framework. Paul