From patchwork Mon May 14 16:15:52 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Schmidt X-Patchwork-Id: 159055 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 2DFA0B701D for ; Tue, 15 May 2012 02:17:04 +1000 (EST) Comment: DKIM? See http://www.dkim.org DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=gcc.gnu.org; s=default; x=1337617025; h=Comment: DomainKey-Signature:Received:Received:Received:Received:Received: Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject: Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:Sender:Delivered-To; bh=zfg+tki Bn8zT872K+RvpSkz8wA8=; b=pbzZdjp0j7LYoIIQu1j9hTqpZsNmJU+UCV69Z5o ofnV4ytHUh5kKZVb743qzEjZLE8eomZ2aBmZ/oWEIiObJw8HJE1cRCk5v3mqJuUw 5U3ACeVkJeC1wWjCeJUwRBWlKwnZp5zgQHCB9EPzmUztk6rWHqGHSHsw+sBHokRC 3/KE= Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=gcc.gnu.org; h=Received:Received:X-SWARE-Spam-Status:X-Spam-Check-By:Received:Received:Received:Received:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=KoZHodtCrObcepx/LH5CfO3Z+JGP/VwauTln0iULNrt4vHXCKXd8a8mUnszHfA gyy1Fhamfs8jCbq0wbce1MKKefOBkFd6xWBJlGik4sdbwD14vypEd1l552I+fgQb HCrZx960wnKwwRIyhU0QPnSbOBZdrzHR1eS9N7XiOcfdE=; Received: (qmail 13116 invoked by alias); 14 May 2012 16:16:58 -0000 Received: (qmail 13064 invoked by uid 22791); 14 May 2012 16:16:53 -0000 X-SWARE-Spam-Status: No, hits=-3.5 required=5.0 tests=AWL, BAYES_00, FROM_12LTRDOM, KHOP_RCVD_UNTRUST, RCVD_IN_HOSTKARMA_W, RCVD_IN_HOSTKARMA_WL, SUBJ_OBFU_PUNCT_FEW X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 14 May 2012 16:16:40 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1STxwt-0007du-QB from Bernd_Schmidt@mentor.com for gcc-patches@gcc.gnu.org; Mon, 14 May 2012 09:16:39 -0700 Received: from SVR-IES-FEM-02.mgc.mentorg.com ([137.202.0.106]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 14 May 2012 09:16:25 -0700 Received: from [127.0.0.1] (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.1.289.1; Mon, 14 May 2012 17:16:38 +0100 Message-ID: <4FB12FB8.8050303@codesourcery.com> Date: Mon, 14 May 2012 18:15:52 +0200 From: Bernd Schmidt User-Agent: Mozilla/5.0 (X11; Linux i686; rv:10.0.4) Gecko/20120507 Thunderbird/10.0.4 MIME-Version: 1.0 To: GCC Patches Subject: IRA fix in find_moveable_pseudos, PR53180 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org We are trying to examine all uses of a reg, but overlook those in a REG_EQUIV note. This is problematic as documented in the PR. The following patch fixes it according to Pat Haugen. Bootstrapped and tested on x86_64-linux, ok? Bernd * ira.c (find_moveable_pseudos): Skip registers whose DF_REG_EQ_USE_COUNT is nonzero. Index: gcc/ira.c =================================================================== --- gcc/ira.c (revision 186875) +++ gcc/ira.c (working copy) @@ -3764,6 +3764,7 @@ find_moveable_pseudos (void) if (DF_REG_DEF_COUNT (regno) != 1 || !DF_REF_INSN_INFO (def) || HARD_REGISTER_NUM_P (regno) + || DF_REG_EQ_USE_COUNT (regno) > 0 || (!INTEGRAL_MODE_P (mode) && !FLOAT_MODE_P (mode))) continue; def_insn = DF_REF_INSN (def);