From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 66611 invoked by alias); 24 Feb 2016 15:43:35 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 66602 invoked by uid 89); 24 Feb 2016 15:43:34 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE autolearn=no version=3.3.2 spammy=Hx-languages-length:1689, up, up!, HContent-Transfer-Encoding:8bit X-HELO: smtp.eu.adacore.com Received: from mel.act-europe.fr (HELO smtp.eu.adacore.com) (194.98.77.210) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 24 Feb 2016 15:43:33 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id C0776812F2; Wed, 24 Feb 2016 16:43:30 +0100 (CET) Received: from smtp.eu.adacore.com ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SCiWHHz1XxbB; Wed, 24 Feb 2016 16:43:30 +0100 (CET) Received: from [10.10.1.112] (cacatoes.act-europe.fr [10.10.1.112]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.eu.adacore.com (Postfix) with ESMTPSA id 748CC812EF; Wed, 24 Feb 2016 16:43:30 +0100 (CET) Subject: Re: [PATCH 10/9] ENABLE_CHECKING refactoring: remove remaining occurrences To: =?UTF-8?Q?Martin_Li=c5=a1ka?= , Michael Matz References: <56130763.4070206@gmail.com> <563673C7.2030607@gmail.com> <5637F356.7080306@redhat.com> <563A1E2F.9030309@gmail.com> <56CDBB56.5050706@suse.cz> <56CDC3DB.1080304@suse.cz> Cc: Richard Biener , Mikhail Maltsev , Jeff Law , gcc-patches mailing list From: Pierre-Marie de Rodat Message-ID: <56CDCFA2.4090605@adacore.com> Date: Wed, 24 Feb 2016 15:43:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56CDC3DB.1080304@suse.cz> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2016-02/txt/msg01654.txt.bz2 On 02/24/2016 03:53 PM, Martin Liška wrote: > On 02/24/2016 03:27 PM, Michael Matz wrote: >> But nothing can set ENABLE_CHECKING anymore (the macro is meanwhile called >> CHECKING_P), so all that code is dead anyway. So either the new macro >> should be used or that code should be removed. > > Good point, well the change is quite recent (12-2015). I'm adding > the author of the code to make a decision about it. Thanks for the heads up! That’s kind of funny: the check associated with this dw_loc_frame_offset field revealed a bug to us (at AdaCore) very recently, so I think we should keep it in one form or another. This field takes one int slot in the dw_loc_descr_node structure, so I guess not having it in release mode is important (that’s what Jason said in ). Here’s what I think: * This field is used only in the resolve_args_picking graph traversal for a consistency check in already visited nodes. * resolve_args_picking has a hash set to remember the already visited nodes. * The consistency check itself has almost no runtime cost: we’re doing the graph traversal in release mode anyway. So what about removing the field (in struct dw_loc_descr_node) and replacing the visited hash set with a frame_offset hash map (in resolve_args_picking)? This hash map would remember the information we currently store in the field. This is a little change, but I can take care of this if you want. I’m a little bit desynchronized with the development pace these days: would this be for stage 4 or GCC 7? -- Pierre-Marie de Rodat