From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22117 invoked by alias); 23 Nov 2009 20:40:26 -0000 Received: (qmail 22102 invoked by uid 22791); 23 Nov 2009 20:40:25 -0000 X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_HELO_PASS,SPF_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; Mon, 23 Nov 2009 20:40:19 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id nANKeIED008000 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 23 Nov 2009 15:40:18 -0500 Received: from hs20-bc2-1.build.redhat.com (hs20-bc2-1.build.redhat.com [10.10.28.34]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id nANKeHQZ013153 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 23 Nov 2009 15:40:17 -0500 Received: from hs20-bc2-1.build.redhat.com (localhost.localdomain [127.0.0.1]) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1) with ESMTP id nANKeGeL025953; Mon, 23 Nov 2009 15:40:16 -0500 Received: (from jakub@localhost) by hs20-bc2-1.build.redhat.com (8.13.1/8.13.1/Submit) id nANKeGpD025949; Mon, 23 Nov 2009 15:40:16 -0500 Date: Mon, 23 Nov 2009 20:52:00 -0000 From: Jakub Jelinek To: Alexandre Oliva Cc: gcc-patches@gcc.gnu.org Subject: Re: [VTA, PR41473] drop NULL locations from lists Message-ID: <20091123204016.GG22813@hs20-bc2-1.build.redhat.com> Reply-To: Jakub Jelinek References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i X-IsSubscribed: yes 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 X-SW-Source: 2009-11/txt/msg01294.txt.bz2 On Mon, Nov 23, 2009 at 06:11:57PM -0200, Alexandre Oliva wrote: > Entries in location lists whose RTL is NULL or not representable end up > causing us to waste debug info space emitting empty DW_AT_location. > > This patch optimizes the debug information, omitting the useless > DW_AT_location. This should work around the bug in Darwin's dsymutil. > > While at that, I arranged for entries in location lists that are not > representable in debug info to not waste an entry in the output location > list. > > The patch also fixes the handling of CONST_DOUBLEs and CONST_VECTORs > within CONCAT and CONCATN, that was currently disabled because mode was > specified as VOIDmode by the handlers of these RTL forms. Even with > -gdwarf-4, we'd still have failed to emit them. > > Ok to install if this passes regstrap? > Are you sure the dropping of single_element_loc_list call in the loc->first && loc->last == loc->first case is a good idea? I believe that will force using location lists even when block form could be used for DW_AT_location. If loc->first->descr is NULL, the function should just return NULL, otherwise it should create the special single element list so that add_AT_location_description does the right thing. Jakub