From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15638 invoked by alias); 22 Jun 2004 04:33:13 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 15631 invoked from network); 22 Jun 2004 04:33:12 -0000 Received: from unknown (HELO mail.codesourcery.com) (65.74.133.5) by sourceware.org with SMTP; 22 Jun 2004 04:33:12 -0000 Received: (qmail 18302 invoked from network); 22 Jun 2004 04:33:10 -0000 Received: from localhost (HELO codesourcery.com) (mitchell@127.0.0.1) by mail.codesourcery.com with SMTP; 22 Jun 2004 04:33:10 -0000 Message-ID: <40D7B687.7060903@codesourcery.com> Date: Tue, 22 Jun 2004 07:29:00 -0000 From: Mark Mitchell Organization: CodeSourcery, LLC User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040113 MIME-Version: 1.0 To: Richard Kenner CC: gcc-patches@gcc.gnu.org Subject: Re: Patch to allow Ada to work with tree-ssa References: <10406220317.AA03680@vlsi1.ultra.nyu.edu> In-Reply-To: <10406220317.AA03680@vlsi1.ultra.nyu.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-06/txt/msg01720.txt.bz2 Richard Kenner wrote: >This is the patch I spoke about this morning. Much of it is mechanical, but >a good part is not. > >I've been working on an x86_64 target. It's at the point where all languages >except Ada (there's still some work to do there, as I said) bootstrap, >everything builds, there are no C regressions and only the C++ regression I >mentioned this morning. > >At this point, I felt it best to get it out of my tree and into the head >where people can bash away at it and also help to get any remaining problems >(and I'm sure there will be) fixed. There are also a few things that need to >be tweaked a bit, but that too will easier once it's checked in. This patch >is too large and affects too many files to keep locally for too much longer, >but too small to justify a branch. > >I think everybody agrees on the general overview of what I did and it's >easier to deal with details now that it's checked in. > > I don't agree. In particular, you've just added an extra entry to ARRAY_REF and COMPONENT_REF, making these two common tree nodes bigger. (COMPONENT_REF, in particular, is used extensively in C++; every access to a class member variable is a COMPONENT_REF.) These extra entries are unnecessary in C and C++, meaning that for GCC's two most-used languages you've just increased memory usage with no benefit. If you need some additional stuff for Ada, please find a way that doesn't penalize C and C++. Furthermore, you didn't update the c-tree.texi documentation. You also didn't add accessor macros for these additional operands, so the only place to look is at the documentation you added in tree.def, which suggests that these additional operands are redundant; for example, the third operand in a COMPONENT_REF is defined in terms of the DECL_FIELD_OFFSET of the second operand; if that's true, why do we need to have it there explicitly? Presumably, this has something to do with variable-sized types, but the documentation does not say what that is. If that's what this is about, then I suggest you find a way to make these nodes bigger in Ada than it is in C/C++ and only look for the additional fields there, or have a flag in ARRAY_REF that indicates whether these additional fields are present. Please revert this patch until we've got consensus here. Thanks, -- Mark Mitchell CodeSourcery, LLC (916) 791-8304 mark@codesourcery.com