From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5077 invoked by alias); 3 Feb 2003 00:25:30 -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 5064 invoked from network); 3 Feb 2003 00:25:29 -0000 Received: from unknown (HELO hiauly1.hia.nrc.ca) (132.246.100.193) by 172.16.49.205 with SMTP; 3 Feb 2003 00:25:29 -0000 Received: from hiauly1.hia.nrc.ca (localhost [127.0.0.1]) by hiauly1.hia.nrc.ca (8.12.0.Beta16/8.12.0.Beta16) with ESMTP id h130PQot026426; Sun, 2 Feb 2003 19:25:27 -0500 (EST) Received: (from dave@localhost) by hiauly1.hia.nrc.ca (8.12.0.Beta16/8.12.0.Beta16) id h130PPiE026424; Sun, 2 Feb 2003 19:25:25 -0500 (EST) Message-Id: <200302030025.h130PPiE026424@hiauly1.hia.nrc.ca> Subject: Re: hppa-linux regressions and 3.2.2 release To: ebotcazou@libertysurf.fr Date: Mon, 03 Feb 2003 00:25:00 -0000 From: "John David Anglin" Cc: gdr@integrable-solutions.net, randolph@tausq.org, gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2003-02/txt/msg00055.txt.bz2 > > I recall Eric Botcazou's patch were being reviewed this week but my > > impression was that the discussion got stalled after Joe Buck asked > > whether the patch was just papering over a fundamental problem. I'll > > recheck what the final answer is and incorporate the patch if > > appropriate. > > Jan thinks that the patch might be valid. Jan wrote: > No, I guess the fix is correct - it is merely looking for loop preheader > and should crash when there is empty block at the end of insn stream. I note that in my examination of the problem I found an empty block at the end of the insn stream. Thus, I can confirm that this is the problem that Eric's patch addresses. As the prior loop terminates if insn is null, it is obvious that a null check of some kind is needed in the following instruction which will cause a crash if insn is null. The testcase is simply an example of a situation where a null value can occur. As to Joe's point, this doesn't happen on 3.3 because there isn't an empty block at the end of the insn stream. There is always a code_label in the insn stream. As a result, the preceding loop doesn't ever reach the end of the insn stream. If the presence of a code label is guaranteed, then the null check in the preceeding for loop can probably be removed. I don't know why 3.2 and 3.3 differ in this respect but I seem to recall problems with label usage counts at one time. The PA-RISC assembly output with the patch ok. I have completed a bootstrap on hppa2.0w-hp-hpux11.11 with Eric's patch. The results are posted here . There are no regressions. Dave -- J. David Anglin dave.anglin@nrc-cnrc.gc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) PS: Eric, your analysis of PR9492 was awesome.