From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87489 invoked by alias); 10 Mar 2018 16:40:08 -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 87471 invoked by uid 89); 10 Mar 2018 16:40:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,KAM_NUMSUBJECT,KAM_SHORT,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=more, HContent-Transfer-Encoding:8bit X-HELO: mx1.redhat.com Received: from mx3-rdu2.redhat.com (HELO mx1.redhat.com) (66.187.233.73) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 10 Mar 2018 16:40:06 +0000 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 27AAC8185338 for ; Sat, 10 Mar 2018 16:40:02 +0000 (UTC) Received: from [10.10.120.42] (ovpn-120-42.rdu2.redhat.com [10.10.120.42]) by smtp.corp.redhat.com (Postfix) with ESMTP id D42E0202322A for ; Sat, 10 Mar 2018 16:40:01 +0000 (UTC) Subject: Re: patch to fix PR83712 From: Vladimir Makarov To: "gcc-patches@gcc.gnu.org" References: <5d72622b-a0bc-ec13-5cf3-e7573cba245e@redhat.com> Message-ID: <67d9e1eb-f04f-8bf6-9c9b-a694a41dd70c@redhat.com> Date: Sat, 10 Mar 2018 16:40:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <5d72622b-a0bc-ec13-5cf3-e7573cba245e@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00481.txt.bz2 A few people reported that the patch broke i686.  I am going to work on the patch more.  Meanwhile I've reverted the patch. On 03/09/2018 11:16 AM, Vladimir Makarov wrote: > The following patch fixes > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83712 > > It is another "cannot find a spill reg for reload" problem.  LRA has > already a code splitting hard reg live ranges to avoid such problem.  > This code is in LRA inheritance pass.  Unfortunately, the code does > splitting for small class pseudos only.  This PR is a more complicated > code and it is hard to adapt the inheritance sub-pass to reliably > solve such problems. > > To fix the PR, I added a sub-pass which works in very rare cases after > we already found that we have no hard regs for a reload pseudo.  It > tries to split a hard reg live range for the pseudo. After that it > tries again to assign a hard reg to the pseudo.  The patch changes > LRA-subpass flow for this.  I hope that the patch will finally solved > all such problems but I am not sure to be completely certain. > > The patch was bootstrapped and tested on x86-64 and ppc64. > > Committed as rev. 258390. >