From patchwork Thu Feb 2 19:46:14 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Makarov X-Patchwork-Id: 139200 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 537B3104792 for ; Fri, 3 Feb 2012 06:46:43 +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=1328816804; 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=d2WlwvT DsKMsgvFtpf4ybt/RziA=; b=K8TtD1qV8jOV3X8MwgkaoQwXzxhpvtXQt4T5HQQ D63z/dHaHedrXHNKgqsG2hT+Rs48iJbitm5pHXH2qica1SiobuH/Vf+GIGDQeRhx felR0oj67GjUWuFD/r8hhTNA2YBGZUNOI7/Wp90jNpFGKX36Y4yFQF4wnLsu9aOW F/Pc= 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=Z1MlNkornAB0Z91fhihFwvgJ4OlCMNCfx4alyiuRQ0UUM8fkaAXCG6mWpYS/ez 8ZB1MSE4BSdGz1HvMC3lnGqMUc4Ys4XYoJt+N2+tjZWPOiEnLtN7HBBARyxAxAeb i5rxoEUlWmAaUQkOCvVxOtSW9MxnkKoaXoMdGpCx0h488=; Received: (qmail 16126 invoked by alias); 2 Feb 2012 19:46:39 -0000 Received: (qmail 16117 invoked by uid 22791); 2 Feb 2012 19:46:39 -0000 X-SWARE-Spam-Status: No, hits=-6.5 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_HI, SPF_HELO_PASS, T_RP_MATCHES_RCVD 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, 02 Feb 2012 19:46:22 +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 q12JkKI3031942 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 2 Feb 2012 14:46:21 -0500 Received: from toll.yyz.redhat.com (unused [10.15.16.165] (may be forged)) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id q12JkKDX010130 for ; Thu, 2 Feb 2012 14:46:20 -0500 Message-ID: <4F2AE806.6090805@redhat.com> Date: Thu, 02 Feb 2012 14:46:14 -0500 From: Vladimir Makarov User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.24) Gecko/20111108 Fedora/3.1.16-1.fc14 Thunderbird/3.1.16 MIME-Version: 1.0 To: gcc-patches Subject: patch for PR49800 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 solves PR49800 which is described on http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49800. The patch was successfully bootstrapped on x86/x86-64. Committed as rev. 183843. 2012-02-02 Vladimir Makarov PR rtl-optimization/49800 * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs. (sched_finish): Call regstat_free_n_sets_and_refs. Index: haifa-sched.c =================================================================== --- haifa-sched.c (revision 183839) +++ haifa-sched.c (working copy) @@ -4835,6 +4835,10 @@ sched_init (void) { int i, max_regno = max_reg_num (); + if (sched_dump != NULL) + /* We need info about pseudos for rtl dumps about pseudo + classes and costs. */ + regstat_init_n_sets_and_refs (); ira_set_pseudo_classes (sched_verbose ? sched_dump : NULL); sched_regno_pressure_class = (enum reg_class *) xmalloc (max_regno * sizeof (enum reg_class)); @@ -4946,6 +4950,8 @@ sched_finish (void) haifa_finish_h_i_d (); if (sched_pressure_p) { + if (regstat_n_sets_and_refs != NULL) + regstat_free_n_sets_and_refs (); free (sched_regno_pressure_class); BITMAP_FREE (region_ref_regs); BITMAP_FREE (saved_reg_live);