From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19535 invoked by alias); 4 Feb 2004 17:54:36 -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 19435 invoked from network); 4 Feb 2004 17:54:34 -0000 Received: from unknown (HELO vlsi1.ultra.nyu.edu) (128.122.140.213) by sources.redhat.com with SMTP; 4 Feb 2004 17:54:34 -0000 Received: by vlsi1.ultra.nyu.edu (4.1/1.34) id AA02044; Wed, 4 Feb 04 12:57:07 EST Date: Wed, 04 Feb 2004 17:54:00 -0000 From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Message-Id: <10402041757.AA02044@vlsi1.ultra.nyu.edu> To: matz@suse.de Subject: Re: What to remove after tree-ssa is merged? Cc: gcc@gcc.gnu.org X-SW-Source: 2004-02/txt/msg00280.txt.bz2 Of course. But somewhen you _do_ apply it to an object. Otherwise it wouldn't have any observable effect and you couldn't lower it to RTL. And then it can be equally well lowered to trees. Yes. As I said, this can be done in trees that are part of *statement*, but not in trees that are part of *types* and the mechanisms that compute offsets and sizes (and hence likely fold) will need to know what to do about it, albeit transiently. Sure, all expressions involving any P_E recursively would have to be expanded in the frontend, including such expressions (probably by using temporaries in order not to have to lower the whole tree). If that's feasible I don't know. You won't need temporaries within statements and it can't be done at all for the expressions within types.