From patchwork Fri Jul 22 18:46:56 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Botcazou X-Patchwork-Id: 106377 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 0A287B6F6F for ; Sat, 23 Jul 2011 04:48:14 +1000 (EST) Received: (qmail 21076 invoked by alias); 22 Jul 2011 18:48:13 -0000 Received: (qmail 21067 invoked by uid 22791); 22 Jul 2011 18:48:12 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (194.98.77.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 22 Jul 2011 18:47:58 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 72134CB037D; Fri, 22 Jul 2011 20:47:57 +0200 (CEST) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vjL0DRAgRD+1; Fri, 22 Jul 2011 20:47:47 +0200 (CEST) Received: from [192.168.1.2] (bon31-9-83-155-120-49.fbx.proxad.net [83.155.120.49]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 1FE4ECB0214; Fri, 22 Jul 2011 20:47:47 +0200 (CEST) From: Eric Botcazou To: Richard Henderson Subject: Re: [patch] Fix PR target/48220 for the SPARC Date: Fri, 22 Jul 2011 20:46:56 +0200 User-Agent: KMail/1.9.9 Cc: gcc-patches@gcc.gnu.org References: <201107142342.57471.ebotcazou@adacore.com> <4E206411.9050803@redhat.com> In-Reply-To: <4E206411.9050803@redhat.com> MIME-Version: 1.0 Message-Id: <201107222046.56583.ebotcazou@adacore.com> 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 > > * doc/md.texi (Standard Names): Document window_save. > > * cfgexpand.c (expand_debug_parm_decl): New function extracted from > > expand_debug_expr and expand_debug_source_expr. If the target has > > a window_save instruction, adjust the ENTRY_VALUE_EXP. > > (expand_debug_expr) : Call expand_debug_parm_decl if the > > SSA_NAME_VAR is a parameter. > > (expand_debug_source_expr) : Call expand_debug_parm_decl. > > * var-tracking.c (parm_reg_t): New type and associated vector type. > > (windowed_parm_regs): New variable. > > (adjust_insn): If the target has a window_save instruction and this > > is the instruction, make its effect on parameter registers explicit. > > (next_non_note_insn_var_location): New function. > > (emit_notes_in_bb): Use it instead of NEXT_INSN throughout. > > (vt_add_function_parameter): If the target has a window_save insn, > > adjust the incoming RTL and record that in windowed_parm_regs. > > (vt_finalize): Free windowed_parm_regs. > > Ok. Thanks. As found out by Rainer, I made a stupid mistake in the last hunk. Tested on i586-suse-linux, pre-approved by Jakub, applied on the mainline. 2011-07-22 Eric Botcazou PR debug/49815 * var-tracking.c (vt_finalize): Always free windowed_parm_regs. Index: var-tracking.c =================================================================== --- var-tracking.c (revision 176622) +++ var-tracking.c (working copy) @@ -9135,9 +9135,10 @@ vt_finalize (void) cselib_finish (); BITMAP_FREE (scratch_regs); scratch_regs = NULL; - VEC_free (parm_reg_t, gc, windowed_parm_regs); } + VEC_free (parm_reg_t, gc, windowed_parm_regs); + if (vui_vec) XDELETEVEC (vui_vec); vui_vec = NULL;