From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22967 invoked by alias); 1 Oct 2002 03:05:39 -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 22957 invoked from network); 1 Oct 2002 03:05:39 -0000 Received: from unknown (HELO lacrosse.corp.redhat.com) (66.187.233.200) by sources.redhat.com with SMTP; 1 Oct 2002 03:05:39 -0000 Received: from free.redhat.lsd.ic.unicamp.br (aoliva2.cipe.redhat.com [10.0.1.156]) by lacrosse.corp.redhat.com (8.11.6/8.9.3) with ESMTP id g9135IP16943; Mon, 30 Sep 2002 23:05:19 -0400 Received: from free.redhat.lsd.ic.unicamp.br (localhost.localdomain [127.0.0.1]) by free.redhat.lsd.ic.unicamp.br (8.12.5/8.12.5) with ESMTP id g9135GQF028846; Tue, 1 Oct 2002 00:05:16 -0300 Received: (from aoliva@localhost) by free.redhat.lsd.ic.unicamp.br (8.12.5/8.12.5/Submit) id g9134GVg028836; Tue, 1 Oct 2002 00:04:16 -0300 To: Bruce Korb Cc: Robert Dewar , zack@codesourcery.com, gcc@gcc.gnu.org Subject: Re: module level flags References: <20020929094132.3E262F2D68@nile.gnat.com> <3D972FFC.641F4F46@pacbell.net> From: Alexandre Oliva Organization: GCC Team, Red Hat Date: Mon, 30 Sep 2002 21:33:00 -0000 In-Reply-To: <3D972FFC.641F4F46@pacbell.net> Message-ID: User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2002-09/txt/msg01277.txt.bz2 On Sep 29, 2002, Bruce Korb wrote: > In this case, the issue is that the aliasing analysis is incomplete. > If a routine contains explicit code to cast the address of an object > of type 'a' to pointers to type b, then in the context of that > routine it is reasonable to presume a '*b' can refer an object 'a'. > They are equivalent. Now what if you factor the code that uses *b into a separate function? All of a sudden, the code stops working because within that separate function it is not known that *b may alias an object of type stumble? Now you try to fix this, and you end up either giving up any possible optimization that the aliasing rules were designed to offer, or something that is not uniformly consistent, or you choose the behavior that may seem wrong if you don't take the aliasing rules into account. -- Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/ Red Hat GCC Developer aoliva@{redhat.com, gcc.gnu.org} CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org} Free Software Evangelist Professional serial bug killer