From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19778 invoked by alias); 11 Oct 2018 19:23:55 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 19766 invoked by uid 89); 11 Oct 2018 19:23:54 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.6 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0b-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.158.5) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 11 Oct 2018 19:23:53 +0000 Received: from pps.filterd (m0098419.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w9BJDwV0113266 for ; Thu, 11 Oct 2018 15:23:51 -0400 Received: from e33.co.us.ibm.com (e33.co.us.ibm.com [32.97.110.151]) by mx0b-001b2d01.pphosted.com with ESMTP id 2n2agddvh0-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 11 Oct 2018 15:23:51 -0400 Received: from localhost by e33.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 11 Oct 2018 13:23:50 -0600 Received: from b03cxnp07028.gho.boulder.ibm.com (9.17.130.15) by e33.co.us.ibm.com (192.168.1.133) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Thu, 11 Oct 2018 13:23:48 -0600 Received: from b03ledav004.gho.boulder.ibm.com (b03ledav004.gho.boulder.ibm.com [9.17.130.235]) by b03cxnp07028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w9BJNlmw65142910 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 11 Oct 2018 12:23:47 -0700 Received: from b03ledav004.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C12337805F; Thu, 11 Oct 2018 13:23:47 -0600 (MDT) Received: from b03ledav004.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0567178060; Thu, 11 Oct 2018 13:23:46 -0600 (MDT) Received: from otta.local (unknown [9.80.238.11]) by b03ledav004.gho.boulder.ibm.com (Postfix) with ESMTP; Thu, 11 Oct 2018 13:23:46 -0600 (MDT) Subject: Re: [PATCH 2/2 v3][IRA,LRA] Fix PR86939, IRA incorrectly creates an interference between a pseudo register and a hard register From: Peter Bergner To: Jeff Law , Vladimir Makarov Cc: Christophe Lyon , gcc Patches References: <14bf79ef-9db2-e76b-df10-fcb2574d5ccb@linux.ibm.com> <121ca751-fb38-d7e1-bffd-89df22a2fdd7@redhat.com> <05a29347-7a39-a1e6-42b8-16c779b97eb5@redhat.com> <703aaa46-eac5-63d1-22dc-0cd31a0e840f@redhat.com> <276824e1-6306-1ac6-b6ba-6b11eac615e7@linux.ibm.com> <191bf9ee-98c4-b87e-cc65-40e1fb5de0ea@linux.ibm.com> <478a817c-719b-9c3c-5b38-de7b277d9f93@linux.ibm.com> Date: Thu, 11 Oct 2018 20:31:00 -0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <478a817c-719b-9c3c-5b38-de7b277d9f93@linux.ibm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit x-cbid: 18101119-0036-0000-0000-00000A48DCB0 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00009861; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000268; SDB=6.01101229; UDB=6.00569827; IPR=6.00881274; MB=3.00023715; MTD=3.00000008; XFM=3.00000015; UTC=2018-10-11 19:23:50 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18101119-0037-0000-0000-000049406A2C Message-Id: <13a249ee-160b-2b28-151c-bed3faacbfc1@linux.ibm.com> X-IsSubscribed: yes X-SW-Source: 2018-10/txt/msg00692.txt.bz2 On 10/11/18 1:18 PM, Peter Bergner wrote: > Ok, after working in gdb, I see that the PA-RISC port still uses reload > and not LRA, but it too seems to have the same issue of reusing input > regs that have REG_DEAD notes, so the question still stands. It's just > that whatever fix we come up with will have to be to both LRA and reload. On second thought, I'm thinking we should just leave reload alone and only fix this in LRA. That means we'd have to disable the reg copy handling when not using LRA though, which might be another reason to get targets to move to LRA? I've verified the following patch gets the PA-RISC test case to pass again. Thoughts? If ok, I still have to dig into the fails we're seeing on LRA targets. Peter * ira-lives (non_conflicting_reg_copy_p): Disable for non LRA targets. Index: gcc/ira-lives.c =================================================================== --- gcc/ira-lives.c (revision 264897) +++ gcc/ira-lives.c (working copy) @@ -1064,6 +1064,10 @@ find_call_crossed_cheap_reg (rtx_insn *i rtx non_conflicting_reg_copy_p (rtx_insn *insn) { + /* Disallow this for non LRA targets. */ + if (!targetm.lra_p ()) + return NULL_RTX; + rtx set = single_set (insn); /* Disallow anything other than a simple register to register copy