From patchwork Sun Nov 16 05:05:01 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Makarov X-Patchwork-Id: 411259 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]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 8B7B01400B7 for ; Sun, 16 Nov 2014 16:05:31 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; q= dns; s=default; b=nNBfLGoY6cPsSXK/rHdPK/GCKQuN3rnYSNJXHttuwAvLZJ jseeAAFASHst9sx6c/caoQ39qvICjIpxy3W48ZxoyvvKBT7WWZFR6HClC64IqXiT CL2nLCvTEpTISdEPJXmr6Xay6Xse1XzBzLTvzPChco0U3tbEXS2u5XPAo79jg= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:date:from:mime-version:to:subject:content-type; s= default; bh=gP1JFX95IwUtAdmoaUrzIkDWiOI=; b=TYcb7DWk7De1Zd20ZafM jLGLIxinFjPXoMJvKbNCdItfsq72kh6ZjKUcmgkKuxFS+ru2LgNR27ddgalGQTa/ IUArtRYcEx7TOemDJVYlOrsqYXy3VlyZwsrMHnA20uiVi3lNa5nkvTaCx55C+81V 9gRqYd+32vuYD/eY3KdlJWU= Received: (qmail 1643 invoked by alias); 16 Nov 2014 05:05:23 -0000 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 Received: (qmail 1054 invoked by uid 89); 16 Nov 2014 05:05:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.7 required=5.0 tests=AWL, BAYES_00, SPF_HELO_PASS, SPF_PASS, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Sun, 16 Nov 2014 05:05:07 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id sAG5560n002806 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Sun, 16 Nov 2014 00:05:06 -0500 Received: from VMBP.local (vpn-52-80.rdu2.redhat.com [10.10.52.80]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id sAG552dO010990 for ; Sun, 16 Nov 2014 00:05:03 -0500 Message-ID: <5468307D.6060804@redhat.com> Date: Sun, 16 Nov 2014 00:05:01 -0500 From: Vladimir Makarov User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: GCC Patches Subject: a patch to fix an x86 bootstrap with LRA X-IsSubscribed: yes The following patch fixes a x86 bootstrap failure with different sets of options (-with-arch=corei7 -with-cpu=intel, -with-arch=core2 -with-cpu=slm). The patch was bootstrapped on x86 (with the 2 sets) and x86-64. Committed as rev. 217624. 2014-11-15 Vladimir Makarov * lra-remat.c (cand_transf_func): Process regno for rematerialization too. * lra.c (lra): Switch on rematerialization pass. Index: lra.c =================================================================== --- lra.c (revision 217609) +++ lra.c (working copy) @@ -2354,7 +2354,7 @@ lra (FILE *f) break; /* Now we know what pseudos should be spilled. Try to rematerialize them first. */ - if (0&&lra_remat ()) + if (lra_remat ()) { /* We need full live info -- see the comment above. */ lra_create_live_ranges (lra_reg_spill_p, true); Index: lra-remat.c =================================================================== --- lra-remat.c (revision 217602) +++ lra-remat.c (working copy) @@ -860,6 +860,10 @@ cand_trans_fun (int bb_index, bitmap bb_ bitmap_set_bit (&temp_bitmap, cid); break; } + /* Check regno for rematerialization. */ + if (bitmap_bit_p (bb_changed_regs, cand->regno) + || bitmap_bit_p (bb_dead_regs, cand->regno)) + bitmap_set_bit (&temp_bitmap, cid); } return bitmap_ior_and_compl (bb_out, &bb_info->gen_cands, bb_in, &temp_bitmap);