From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17366 invoked by alias); 5 Mar 2013 17:24:19 -0000 Received: (qmail 17335 invoked by uid 22791); 5 Mar 2013 17:24:17 -0000 X-SWARE-Spam-Status: No, hits=-7.7 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_SPAMHAUS_DROP,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD,SPF_HELO_PASS,TW_FC X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 05 Mar 2013 17:24:02 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r25HNwTP009687 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 5 Mar 2013 12:23:59 -0500 Received: from stumpy.slc.redhat.com (ovpn-113-48.phx2.redhat.com [10.3.113.48]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r25Ge0LE011350; Tue, 5 Mar 2013 11:40:01 -0500 Message-ID: <51361FE0.4000402@redhat.com> Date: Tue, 05 Mar 2013 17:24:00 -0000 From: Jeff Law User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: Jakub Jelinek CC: Eric Botcazou , Uros Bizjak , gcc-patches@gcc.gnu.org Subject: Re: [PATCH] Avoid extending lifetime of likely spilled hard regs in ifcvt before reload (PR rtl-optimization/56484) References: <20130305162646.GJ12913@tucnak.redhat.com> In-Reply-To: <20130305162646.GJ12913@tucnak.redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 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 X-SW-Source: 2013-03/txt/msg00197.txt.bz2 On 03/05/2013 09:26 AM, Jakub Jelinek wrote: > Hi! > > Without this patch, ifcvt extends lifetime of %eax hard register, > which causes reload/LRA ICE later on. Combiner and other passes try hard > not to do that, even ifcvt has code for it if x is a hard register a few > lines below it, but in this case the hard register is SET_SRC (set_b). > > With this patch we just use the pseudo (x) which has been initialized > from the hard register before the conditional. > > Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? > > 2013-03-05 Jakub Jelinek > > PR rtl-optimization/56484 > * ifcvt.c (noce_process_if_block): Before reload if else_bb > is NULL, avoid extending lifetimes of hard registers in > likely to spilled or small register classes. OK. Jeff