From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15003 invoked by alias); 25 Nov 2001 20:23:19 -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 14968 invoked from network); 25 Nov 2001 20:23:17 -0000 Received: from unknown (HELO dot.cygnus.com) (205.180.230.224) by sourceware.cygnus.com with SMTP; 25 Nov 2001 20:23:17 -0000 Received: (from rth@localhost) by dot.cygnus.com (8.11.2/8.11.2) id fAPKMJr31470; Sun, 25 Nov 2001 12:22:19 -0800 X-Authentication-Warning: dot.cygnus.com: rth set sender to rth@redhat.com using -f Date: Thu, 15 Nov 2001 16:20:00 -0000 From: Richard Henderson To: Andreas Schwab Cc: Corey Minyard , gcc@gcc.gnu.org Subject: Re: Loop optimization bug with Ada front end on PPC (and probably Alpha) Message-ID: <20011125122218.A31367@redhat.com> Mail-Followup-To: Richard Henderson , Andreas Schwab , Corey Minyard , gcc@gcc.gnu.org References: <3BFCA770.5070304@acm.org> <20011124124100.A2485@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from schwab@suse.de on Sun, Nov 25, 2001 at 05:57:07PM +0100 X-SW-Source: 2001-11/txt/msg00700.txt.bz2 On Sun, Nov 25, 2001 at 05:57:07PM +0100, Andreas Schwab wrote: > Here is a testcase for ia64-linux. It crashes in > > while (in < p) > *out++ = *in++; > > because ar.lc == -1 (ie. "infinite"). At first blush, this is a gcse problem. Copy propagation doesn't replace all ocurrences of r341, and doloop winds up computing ar.lc from the wrong register. r~ From mboxrd@z Thu Jan 1 00:00:00 1970 From: Richard Henderson To: Andreas Schwab Cc: Corey Minyard , gcc@gcc.gnu.org Subject: Re: Loop optimization bug with Ada front end on PPC (and probably Alpha) Date: Sun, 25 Nov 2001 12:23:00 -0000 Message-ID: <20011125122218.A31367@redhat.com> References: <3BFCA770.5070304@acm.org> <20011124124100.A2485@redhat.com> X-SW-Source: 2001-11/msg01204.html Message-ID: <20011125122300.2nJxwvu4GvPH-6xJzSu2aSbvhd9Em4q0YzRnl0kpS5g@z> On Sun, Nov 25, 2001 at 05:57:07PM +0100, Andreas Schwab wrote: > Here is a testcase for ia64-linux. It crashes in > > while (in < p) > *out++ = *in++; > > because ar.lc == -1 (ie. "infinite"). At first blush, this is a gcse problem. Copy propagation doesn't replace all ocurrences of r341, and doloop winds up computing ar.lc from the wrong register. r~