From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 58087 invoked by alias); 13 Feb 2018 16:15:54 -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 57920 invoked by uid 89); 13 Feb 2018 16:15:53 -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,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy= 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 ESMTP; Tue, 13 Feb 2018 16:15:51 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 84030C070147; Tue, 13 Feb 2018 16:15:50 +0000 (UTC) Received: from localhost.localdomain (ovpn-112-36.rdu2.redhat.com [10.10.112.36]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1CE04D1C7; Tue, 13 Feb 2018 16:15:31 +0000 (UTC) Subject: Re: [SFN+LVU+IEPM v4 9/9] [IEPM] Introduce inline entry point markers To: Alexandre Oliva , Rainer Orth Cc: Jakub Jelinek , Alan Modra , Jason Merrill , Richard Biener , GCC Patches References: <20171110023448.28164-9-aoliva@redhat.com> <20180124171232.GG2063@tucnak> <20180209035334.GF3846@bubble.grove.modra.org> <6e28e34e-681d-bebb-d815-569eee148de5@redhat.com> <20180209211000.GN5867@tucnak> From: Jeff Law Message-ID: Date: Tue, 13 Feb 2018 16:15:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00744.txt.bz2 On 02/13/2018 06:43 AM, Alexandre Oliva wrote: > On Feb 12, 2018, Alexandre Oliva wrote: > >> This patch supersedes the previous one. Testing underway... Ok if it >> succeeds? > > I failed to update the patch I posted after making a correct to symbol > poisoning, that had caused builds to fail right away, sorry. Thanks, > Rainer, for catching the error. > > Here's the patch that actually passed regstrap on native i686 and > x86_64-linux-gnu, and fixed numerous regressions on cross builds. > Ok to install? > > > [LVU, IEPM] several new controlling options > > Given that the minimum insn length is not generally reliable to tell > whether an insn actually advances PC, this patch disables the locview > list optimizations that can only be done when can tell it. > > The preexisting logic is retained, however, and can be enabled with > the newly-introduced -ginternal-reset-location-view. This is now > enabled by default only if the target defines a hook that may override > or defer to the preexisting logic. The negated command line option > can then be used should errors still be encountered. > > > We also introduce options to control whether to assume .loc and view > support in the assembler, and to control whether to output inline > entry points (and views) from markers. > > > This patch also fixes a number of documentation formatting errors, > namely using @item rather than @itemx for all but the first of several > options before a description. > > for gcc/ChangeLog > > * common.opt (gas-loc-support, gas-locview-support): New. > (ginline-points, ginternal-reset-location-views): New. > * doc/invoke.texi: Document them. Use @itemx where intended. > (gvariable-location-views): Adjust. > * target.def (reset_location_view): New. > * doc/tm.texi.in (DWARF2_ASM_VIEW_DEBUG_INFO): New. > (TARGET_RESET_LOCATION_VIEW): New. > * doc/tm.texi: Rebuilt. > * dwarf2out.c (dwarf2out_default_as_loc_support): New. > (dwarf2out_default_as_locview_support): New. > (output_asm_line_debug_info): Use option variables. > (dwarf2out_maybe_output_loclist_view_pair): Likewise. > (output_loc_list): Likewise. > (add_high_low_attributes): Check option variables. > Don't output entry view attribute in strict mode. > (gen_inlined_subroutine_die): Check option variables. > (dwarf2out_inline_entry): Likewise. > (init_sections_and_labels): Likewise. > (dwarf2out_early_finish): Likewise. > (maybe_reset_location_view): New, from... > (dwarf2out_var_location): ... here. Call it. > * debug.h (dwarf2out_default_as_loc_support): Declare. > (dwarf2out_default_as_locview_support): Declare. > * hooks.c (hook_int_rtx_insn_0): New. > * hooks.h (hook_int_rtx_insn_0): Declare. > * toplev.c (process_options): Take -gas-loc-support and > -gas-locview-support from dwarf2out. Enable > -gvariable-location-views by default only with locview > assembler support. Enable -ginternal-reset-location-views by > default only if the target defines the corresponding hook. > Enable -ginline-points by default if location views are > enabled; force it disabled if statement frontiers are > disabled. > * tree-inline.c (expand_call_inline): Check option variables. > * tree-ssa-live.c (remove_unused_scope_block_p): Likewise. OK. I probably would have gone with the initial version or something closer to that -- this seems to have expanded in scope a bit. But it's not enough to object to since the scope creep is really just giving options to turn on/off the various bits for testing purposes. I plan to commit it momentarily given the number of targets that are failing in my tester due to this issue. jeff