On 02/13/2018 06:43 AM, Alexandre Oliva wrote:
> On Feb 12, 2018, Alexandre Oliva <aol...@redhat.com> 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.
>       * 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.


Reply via email to