From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18399 invoked by alias); 4 Mar 2016 07:23:06 -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 18379 invoked by uid 89); 4 Mar 2016 07:23:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1398, anytime, yours 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; Fri, 04 Mar 2016 07:23:04 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 451E7C09FAB2 for ; Fri, 4 Mar 2016 07:23:03 +0000 (UTC) Received: from tucnak.zalov.cz (ovpn-113-25.phx2.redhat.com [10.3.113.25]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u247N1dl017656 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 4 Mar 2016 02:23:02 -0500 Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.15.2/8.15.2) with ESMTP id u247MxAx018789; Fri, 4 Mar 2016 08:23:00 +0100 Received: (from jakub@localhost) by tucnak.zalov.cz (8.15.2/8.15.2/Submit) id u247Mx8W018788; Fri, 4 Mar 2016 08:22:59 +0100 Date: Fri, 04 Mar 2016 07:23:00 -0000 From: Jakub Jelinek To: Jeff Law Cc: Jason Merrill , gcc-patches@gcc.gnu.org Subject: Re: Patch ping Message-ID: <20160304072259.GR3017@tucnak.redhat.com> Reply-To: Jakub Jelinek References: <20160303143556.GI3017@tucnak.redhat.com> <56D934E2.2020101@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <56D934E2.2020101@redhat.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-IsSubscribed: yes X-SW-Source: 2016-03/txt/msg00314.txt.bz2 On Fri, Mar 04, 2016 at 12:10:26AM -0700, Jeff Law wrote: > On 03/03/2016 07:35 AM, Jakub Jelinek wrote: > >Hi! > > > >I'd like to ping fix for P1 PR69947: > >https://gcc.gnu.org/ml/gcc-patches/2016-02/msg01743.html > So essentially this is just marking more things so that we don't prune them > away, right? > > It's similar conceptually to one of Pierre-Marie's patches where he removed > the switch and recursed anytime the operand's val_class matched > dw_val_class_die_ref and was !external. Yours just explicitly adds the new > DW_OP_ things to the switch and has a slightly looser check (dropping the > !external part of the check). The !external part is IMHO not needed, as we only set external for attributes, not for operands of DWARF expression opcodes. And, while checking both operands for dw_val_class_die_ref is possible, it is not enough, it doesn't cover the DW_OP_GNU_entry_value case where it is a val_loc, and that case really depends on the context, other val_locs shouldn't be traversed. So, I think it is better to list the opcodes explicitly, as that gives the needed context to what the arguments are, perhaps at some point we'll refer to DIEs that we want to do something different for. When adding new DW_OP_* values, one has to change dozens of other places anyway, so one further one doesn't matter, one has to search for all the spots anyway. Jakub