From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14523 invoked by alias); 4 Feb 2004 16:10:22 -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 14505 invoked from network); 4 Feb 2004 16:10:21 -0000 Received: from unknown (HELO Cantor.suse.de) (195.135.220.2) by sources.redhat.com with SMTP; 4 Feb 2004 16:10:21 -0000 Received: from hermes.suse.de (Hermes.suse.de [195.135.221.8]) (using TLSv1 with cipher EDH-RSA-DES-CBC3-SHA (168/168 bits)) (No client certificate requested) by Cantor.suse.de (Postfix) with ESMTP id 5E182133C3E; Wed, 4 Feb 2004 17:10:20 +0100 (CET) Received: by wotan.suse.de (Postfix, from userid 10510) id 41FEA10681; Wed, 4 Feb 2004 17:10:20 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by wotan.suse.de (Postfix) with ESMTP id 3FB6310671; Wed, 4 Feb 2004 17:10:20 +0100 (CET) Date: Wed, 04 Feb 2004 16:10:00 -0000 From: Michael Matz To: Richard Kenner Cc: gcc@gcc.gnu.org Subject: Re: What to remove after tree-ssa is merged? In-Reply-To: <10402041551.AA01170@vlsi1.ultra.nyu.edu> Message-ID: References: <10402041551.AA01170@vlsi1.ultra.nyu.edu> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2004-02/txt/msg00268.txt.bz2 Hi, On Wed, 4 Feb 2004, Richard Kenner wrote: > Or are P_E in types also used to actually influence code generation > (instead of P_E just in expressions/statements). And in that case: why is > this so, and why are P_E in statements not usable for this? > > I'm not sure I understand what you mean. Probably I'm asking the wrong thing because I'm in turn unsure, where exactly P_E is used inside types. The example you gave (as I understood it) happens to actually use the P_E only in the context of an expression (a COMPONENT_REF in fact), also if the P_E expression was only found by looking into the type of the bounded array. So in that example the P_E is used in expressions, so they could be lowered to trees not containing P_E (this involves probably making some element references more explicit). Basically in the frontend you would somehow lower all expressions referencing any P_E to something carrying out the necessary calculations explicitely. I don't yet see, where this would not work. To that question you then mentioned P_E inside types, but they should only matter for type comparing or in context of expressions AFAICS. The former needs language specific type callbacks (or the frontend doesn't leak such types to the middle end), the latter can be done with the above frontend specific lowering. Ciao, Michael.