From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27946 invoked by alias); 25 Apr 2007 16:01:37 -0000 Received: (qmail 27879 invoked by alias); 25 Apr 2007 16:01:25 -0000 Date: Wed, 25 Apr 2007 16:01:00 -0000 Message-ID: <20070425160125.27878.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/30567] [4.2 Regression] -O3 optimizer bug In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dberlin at dberlin dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-04/txt/msg01909.txt.bz2 ------- Comment #31 from dberlin at gcc dot gnu dot org 2007-04-25 17:01 ------- Subject: Re: [4.2 Regression] -O3 optimizer bug On 25 Apr 2007 15:32:41 -0000, rguenth at gcc dot gnu dot org wrote: > > > ------- Comment #29 from rguenth at gcc dot gnu dot org 2007-04-25 16:32 ------- > Oh, btw. why the may_aliases bitmap for SMT.11 is empty on entry to the loops > computing the transitive closure (it tries to, right?) is that SFT.0 is not > considered stored to in the first nested loop over pointers and addressable > vars. Shouldn't we add the vars NMT aliases to ai->written_vars in > compute_flow_sensitive_aliasing? This is a better fix. The other "fix" is just a hack. Aliasing is not symmetric, so we shouldn't make the two points-to sets equal. However, I bet if you look at where we initially add written vars, you'll discover we are missing it there for some reason, and don't need to post-add it like you do here. I think i fixed something like this in 4.3 where we didn't consider stores to globals or arguments to be written or somesuch when we were initially generating written vars. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30567