From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13792 invoked by alias); 28 Jan 2002 19:12:54 -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 13618 invoked from network); 28 Jan 2002 19:12:49 -0000 Received: from unknown (HELO hiauly1.hia.nrc.ca) (132.246.100.193) by sources.redhat.com with SMTP; 28 Jan 2002 19:12:49 -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 g0SJCfFN020436; Mon, 28 Jan 2002 14:12:41 -0500 (EST) Received: (from dave@localhost) by hiauly1.hia.nrc.ca (8.12.0.Beta16/8.12.0.Beta16) id g0SJCeYJ020435; Mon, 28 Jan 2002 14:12:40 -0500 (EST) Message-Id: <200201281912.g0SJCeYJ020435@hiauly1.hia.nrc.ca> Subject: Re: gcc failed to bootstrap on Linux/mipsel To: rth@redhat.com (Richard Henderson) Date: Mon, 28 Jan 2002 11:18:00 -0000 From: "John David Anglin" Cc: geoffk@geoffk.org, gcc-patches@gcc.gnu.org In-Reply-To: <20020128110712.A25955@redhat.com> from "Richard Henderson" at Jan 28, 2002 11:07:12 am X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-SW-Source: 2002-01/txt/msg01997.txt.bz2 > > You can hoist any insns involving the PIC register except those > > that set it. > > Bugger all. Well, I guess we'll just have to do for_alias=0 > for now. I don't think we can fix this properly for 3.1. Is this obviously wrong? I'm trying it now. Dave -- J. David Anglin dave.anglin@nrc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) 2002-01-28 John David Anglin * loop.c (scan_loop): Don't hoist insns that set the pic offset table register if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined and we are generating PIC code. --- loop.c.orig Fri Jan 25 00:04:25 2002 +++ loop.c Mon Jan 28 13:49:58 2002 @@ -762,6 +762,9 @@ if (GET_CODE (p) == INSN && (set = single_set (p)) && GET_CODE (SET_DEST (set)) == REG +#ifdef PIC_OFFSET_TABLE_REG_CALL_CLOBBERED + && (! flag_pic || SET_DEST (set) != pic_offset_table_rtx) +#endif && ! regs->array[REGNO (SET_DEST (set))].may_not_optimize) { int tem1 = 0;