From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12946 invoked by alias); 29 Jul 2004 11:34:59 -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 12927 invoked from network); 29 Jul 2004 11:34:51 -0000 Received: from unknown (HELO vlsi1.ultra.nyu.edu) (128.122.140.213) by sourceware.org with SMTP; 29 Jul 2004 11:34:51 -0000 Received: by vlsi1.ultra.nyu.edu (4.1/1.34) id AA08116; Thu, 29 Jul 04 07:37:04 EDT Date: Thu, 29 Jul 2004 19:02:00 -0000 From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Message-Id: <10407291137.AA08116@vlsi1.ultra.nyu.edu> To: rth@redhat.com Subject: Re: Patch to allow Ada to work with tree-ssa Cc: gcc-patches@gcc.gnu.org X-SW-Source: 2004-07/txt/msg02623.txt.bz2 > Given a volatile variable 'x', '&x' is not marked TREE_CONSTANT, > > Why? That seems wrong. The address of a volatile variable is still > constant. TREE_CONSTANT != TREE_INVARIANT. Addresses of global variables fall into the former category, addresses of stack variables fall into the later category. Yes, I most certainly understand that. But what does that have to do with the issue of volatility? > I think the bug is that &x should be constant irrespective of the > volatility of X. We did. You screwed up the test. Who is "you" and which test do you mean? And what do you mean by "we did"? It looks like everybody calls recompute_tree_invarant_for_addr_expr (I just noticed that name's had a typo in it) and that seems to do the right thing. I modified that function, but I think it got the volatile case right even before that. So I'm quite confused.