From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23969 invoked by alias); 17 Jan 2003 18:59:51 -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 23961 invoked from network); 17 Jan 2003 18:59:50 -0000 Received: from unknown (HELO www.eyesopen.com) (12.96.199.11) by sources.redhat.com with SMTP; 17 Jan 2003 18:59:50 -0000 Received: from localhost (roger@localhost) by www.eyesopen.com (8.11.6/8.11.6) with ESMTP id h0HId5p07996; Fri, 17 Jan 2003 11:39:05 -0700 Date: Fri, 17 Jan 2003 18:59:00 -0000 From: Roger Sayle To: Jan Hubicka cc: law@redhat.com, Subject: Re: [PATCH] Fix RTL sharing problem in CSE In-Reply-To: <20030117182530.GB20846@atrey.karlin.mff.cuni.cz> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-SW-Source: 2003-01/txt/msg01246.txt.bz2 Hi Jan and Jeff, > > >The ICE occurs because combine tries to simplify it and it can't because > > >of the constant substitution in the regclass.i.13.bypass pass. It would > > >seem to me that the subreg should be simplified when the substitution for > > >DI 262 is made. After that, the mode information is lost. > > Agreed. > When replacement is made by validate_replace_reg, this is done > automatically. I think bypass pass should use it consistently... No new RTL modification code was introduced splitting GCSE and moving the jump bypassing pass after the loop optimizations. Even prior to that, jump bypassing itself only affects branch instructions and doesn't modify RTL expressions at all. I believe that the problems on hppa64 and powerpc will turn out to be more latent bugs in the existing GCSE or CSE constant propagation code, just like the one in cse_insn that it has already uncovered on H8300. I know the rules, and am more than happy to take responsibility for latent bugs that are exposed by my changes. If I'm right, these fixes should also be applied to the 3.3 branch, as they'll predate my recent changes. Roger --