From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23004 invoked by alias); 14 Jun 2011 09:49:36 -0000 Received: (qmail 22994 invoked by uid 22791); 14 Jun 2011 09:49:36 -0000 X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from cantor2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 14 Jun 2011 09:49:10 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.221.2]) by mx2.suse.de (Postfix) with ESMTP id 189F88726A; Tue, 14 Jun 2011 11:49:08 +0200 (CEST) Date: Tue, 14 Jun 2011 10:03:00 -0000 From: Richard Guenther To: Bernd Schmidt Cc: Jakub Jelinek , gcc-patches@gcc.gnu.org Subject: Re: RFC: Fix GCSE exp_equiv_p on MEMs with different MEM_ATTRS (PR rtl-optimization/49390) In-Reply-To: <4DF72BC4.5050306@codesourcery.com> Message-ID: References: <20110613184028.GW17079@tyan-ft48-01.lab.bos.redhat.com> <4DF72BC4.5050306@codesourcery.com> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-06/txt/msg01023.txt.bz2 On Tue, 14 Jun 2011, Bernd Schmidt wrote: > On 06/14/2011 10:43 AM, Richard Guenther wrote: > > The patch that reverted the MEM_ATTR comparison didn't come > > with a single testcase (ugh, I realize I approved it though ;)). > > > Bernd, do you have any testcases? > > It was a missed-optimization problem, but I think it only showed up with > a modified ARM backend, and it was a set of changes I threw away in the > end since I found a better fix. So, from that angle no objections if > it's reverted. > > Judging from the variable names the testcase was 253.perlbmk/op.c, but I > can't make the problem reappear at the moment - quite possibly because > I'm not fully remembering what I had changed in arm.c. It's likely that due to MEM_REFs on the tree level we now detect more cases there. Btw, if we'd re-arrange the code to use NULL MEM_ATTRS for the canonical MEM whenever we see two non-equivalent MEM_ATTRS it should work again (no need to compare MEM_ALIAS_SET either then). Not sure where to do that check and MEM_ATTRS adjustment though (probably at hashtable lookup time). So I'd say we revert your patch for now and if somebody feels like implementing the above ... Richard.