From patchwork Thu Oct 25 04:20:34 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Makarov X-Patchwork-Id: 194037 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 D28322C009B for ; Thu, 25 Oct 2012 15:21:01 +1100 (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=1351743662; h=Comment: DomainKey-Signature: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=ZjwH5tS 6QYOpMQxZUbld+MlO9NE=; b=twc6Ce0avdYv9p2Ttct9zZzDVm/x44OZoBefLqL ZbwlZpXgmy/fugBBFAZqfeWlydv/UNOc781R4enXB2eVcUpLVxZXD9+IkYadPkYK Rqka7eOiKfiUNDjaK5xhuVxilPqy3c/tUcl9UNR+OwcSUvl/n8rRAsY/Jn9HnCWN ZElE= 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:Message-ID:Date:From:User-Agent:MIME-Version:To:Subject:Content-Type:X-IsSubscribed:Mailing-List:Precedence:List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:Sender:Delivered-To; b=SNPP5UBs+MlE9z5tHYUJvkA78oUW8qZTvRoLqza/jKeHVvChZw2Z/gOW4eQT+x qrIcrpN4vaOnxrXjCduVnOcihO/lv1INnYY1cJrS1K/KUmjB1GZPiT1KIXMQjRwF aegc4zQ46TkZH7XEoLlfvjF5O/z84lQPIof6SGIUoOxUo=; Received: (qmail 31903 invoked by alias); 25 Oct 2012 04:20:48 -0000 Received: (qmail 31819 invoked by uid 22791); 25 Oct 2012 04:20:47 -0000 X-SWARE-Spam-Status: No, hits=-6.8 required=5.0 tests=AWL, BAYES_00, KHOP_RCVD_UNTRUST, RCVD_IN_DNSWL_HI, RCVD_IN_HOSTKARMA_W, RP_MATCHES_RCVD, SPF_HELO_PASS 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; Thu, 25 Oct 2012 04:20:39 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q9P4KcN9013152 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 25 Oct 2012 00:20:38 -0400 Received: from Mair.local (vpn-11-145.rdu.redhat.com [10.11.11.145]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q9P4KZOj017486 for ; Thu, 25 Oct 2012 00:20:37 -0400 Message-ID: <5088BE12.7080905@redhat.com> Date: Thu, 25 Oct 2012 00:20:34 -0400 From: Vladimir Makarov User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:16.0) Gecko/20121010 Thunderbird/16.0.1 MIME-Version: 1.0 To: GCC Patches Subject: patch to fix PR55050 and PR55068 X-IsSubscribed: yes 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 The following patch is to solve http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55050 and probably http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55068 Code updating equivalences was added to IRA. It was supposed for LRA. It might create problems for reload because it creates inconsistency in dealing with equivs in reload and IRA. The patch was successfully bootstrapped on x86/x86-64. Committed as rev. 192797. 2012-10-24 Vladimir Makarov PR bootstrap/55068 PR regression/55050 * ira.c (setup_reg_renumber): Fix assert. * ira-emit.c (emit_move_list): Update equivalences only for LRA. Index: ira.c =================================================================== --- ira.c (revision 192742) +++ ira.c (working copy) @@ -1989,6 +1989,7 @@ setup_reg_renumber (void) ira_assert (!optimize || flag_caller_saves || (ALLOCNO_CALLS_CROSSED_NUM (a) == ALLOCNO_CHEAP_CALLS_CROSSED_NUM (a)) + || regno >= ira_reg_equiv_len || ira_equiv_no_lvalue_p (regno)); caller_save_needed = 1; } Index: ira-emit.c =================================================================== --- ira-emit.c (revision 192742) +++ ira-emit.c (working copy) @@ -947,7 +947,8 @@ emit_move_list (move_t list, int freq) = gen_rtx_INSN_LIST (VOIDmode, insn, reg_equiv_init (regno)); } } - ira_update_equiv_info_by_shuffle_insn (to_regno, from_regno, list->insn); + if (ira_use_lra_p) + ira_update_equiv_info_by_shuffle_insn (to_regno, from_regno, list->insn); emit_insn (list->insn); mode = ALLOCNO_MODE (list->to); aclass = ALLOCNO_CLASS (list->to);