From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1445 invoked by alias); 12 Dec 2002 05:15:57 -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 1434 invoked from network); 12 Dec 2002 05:15:55 -0000 Received: from unknown (HELO ngate.noida.hcltech.com) (202.54.110.230) by sources.redhat.com with SMTP; 12 Dec 2002 05:15:55 -0000 Received: from exch-01.noida.hcltech.com (exch-01 [204.160.254.29]) by ngate.noida.hcltech.com (8.9.3/8.9.3) with ESMTP id KAA25353; Thu, 12 Dec 2002 10:43:29 +0530 Received: by exch-01.noida.hcltech.com with Internet Mail Service (5.5.2653.19) id ; Thu, 12 Dec 2002 10:40:39 +0530 Message-ID: From: "Sanjiv Kumar Gupta, Noida" To: Daniel Berlin , Dale Johannesen Cc: gcc@gcc.gnu.org Subject: RE: possible gcse failure: not able to eliminate redundant loads Date: Wed, 11 Dec 2002 22:00:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-SW-Source: 2002-12/txt/msg00620.txt.bz2 >> But surely it should be smart enough to know they don't alias? >It depends on what it looks like at the RTL level. the references of a[4] and a[1] appear as two pointer pseudos which gcc can not determine that they have been computed with distinct offsets from same base. Thus assumes aliasing. I am implementing mod-k residue technique in GCC (described in "alias analysis of executable code", Debray98 et. al) to fix this. >> This is still a bug, possibly an important one for performance. >Store motion can't handle this right now. >It was built to handle a certain special case. >Improve it so it does more. >It's not broken, just not as good as it could be. Store motion is currently disabled. see gcse.c line 910 /* Store motion disabled until it is fixed. */ if (0 && !optimize_size && flag_gcse_sm) store_motion (); I don't know what's stopping this? I will try to find related PRs and have a look into them. --Sanjiv