This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [SFN+LVU+IEPM v4 9/9] [IEPM] Introduce inline entry point markers


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]