From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2442 invoked by alias); 6 Mar 2002 22:12:40 -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 2296 invoked from network); 6 Mar 2002 22:12:37 -0000 Received: from unknown (HELO d12lmsgate-2.de.ibm.com) (195.212.91.200) by sources.redhat.com with SMTP; 6 Mar 2002 22:12:37 -0000 Received: from d12relay02.de.ibm.com (d12relay02.de.ibm.com [9.165.215.23]) by d12lmsgate-2.de.ibm.com (1.0.0) with ESMTP id XAA20634; Wed, 6 Mar 2002 23:12:35 +0100 Received: from d12ml028.de.ibm.com (d12ml028_cs0 [9.165.223.24]) by d12relay02.de.ibm.com (8.11.1m3/NCO/VER6.00) with ESMTP id g26MEaX20102; Wed, 6 Mar 2002 23:14:36 +0100 Importance: Normal Subject: Re: Bug with copyprop_hardreg_forward and shared RTX To: Richard Henderson Cc: gcc@gcc.gnu.org, gcc-patches@gcc.gnu.org X-Mailer: Lotus Notes Release 5.0.3 (Intl) 21 March 2000 Message-ID: From: "Ulrich Weigand" Date: Wed, 06 Mar 2002 14:12:00 -0000 X-MIMETrack: Serialize by Router on D12ML028/12/M/IBM(Release 5.0.8 |June 18, 2001) at 06/03/2002 23:14:40 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii X-SW-Source: 2002-03/txt/msg00198.txt.bz2 Richard Henderson wrote: >I guess we could run an unshare_all_rtl_again pass after reload is >done... The following patch fixes my test case, and passes bootstrap and regression tests on s390-ibm-linux and s390x-ibm-linux (done on the 3.1 branch). OK to check it in to the branch and the trunk? ChangeLog: * gcc/reload1.c (reload): Unshare all rtl after reload is done. Index: gcc/reload1.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/reload1.c,v retrieving revision 1.325 diff -c -p -r1.325 reload1.c *** reload1.c 2002/02/19 02:53:11 1.325 --- reload1.c 2002/03/06 20:23:19 *************** reload (first, global) *** 1278,1283 **** --- 1278,1288 ---- unused_insn_chains = 0; fixup_abnormal_edges (); + /* Replacing pseudos with their memory equivalents might have + created shared rtx. Subsequent passes would get confused + by this, so unshare everything here. */ + unshare_all_rtl_again (first); + return failure; } Mit freundlichen Gruessen / Best Regards Ulrich Weigand -- Dr. Ulrich Weigand Linux for S/390 Design & Development IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen Phone: +49-7031/16-3727 --- Email: Ulrich.Weigand@de.ibm.com