From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18218 invoked by alias); 18 Oct 2004 02:51:31 -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 18210 invoked from network); 18 Oct 2004 02:51:30 -0000 Received: from unknown (HELO vlsi1.ultra.nyu.edu) (128.122.140.213) by sourceware.org with SMTP; 18 Oct 2004 02:51:30 -0000 Received: by vlsi1.ultra.nyu.edu (4.1/1.34) id AA02540; Sun, 17 Oct 04 22:55:17 EDT Date: Mon, 18 Oct 2004 03:12:00 -0000 From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Message-Id: <10410180255.AA02540@vlsi1.ultra.nyu.edu> To: zack@codesourcery.com Subject: Re: [patch] for PR 18040 Cc: gcc-patches@gcc.gnu.org X-SW-Source: 2004-10/txt/msg01443.txt.bz2 Your opinion on my alternative suggestion - hoist the type conversion to the outermost type, thus reducing the nested case to the unnested case - would be appreciated (and please read the whole message before answering the question, because I address another objection below). Aside from the issue of possible quadratic behavior, I don't completely understand the proposal here, so I can't fully comment on it. I should point out, though, that some of these expressions in practice are quite complex: there are lots of implicit conversions and dereferences generated by the front end. I didn't say this had to be captured in the type-based alias sets, I said it had to be comprehensible to the alias analyzer. Those two assertions are not the same thing. No, but your comment about the GNAT alias set computation was sounding like you were talking about type-based alias sets. > This stuff is *very* tricky and, as I said, we've been throught it > before. The PR indicates that the solution which has already been implemented does not work. Thus, the entire topic is open for reexamination. The PR indicates that a particular optimizer has problems with the overall approach. One way of dealing with that is to change the approach. But a more local way is to fix that particular optimizer.