On 02/21/2018 03:11 AM, Alexandre Oliva wrote: > On Feb 15, 2018, Szabolcs Nagy <szabolcs.n...@arm.com> wrote: > >> i see assembler slow downs with these location view patches >> i opened https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84408 > > > [LVU] reset view at function entry, omit views at line zero > > Location views might be associated with locations that lack line > number information (line number zero), but since we omit .loc > directives that would have been issued with line number zero, we also > omit the symbolic view numbers that would have been issued at such > points. > > Resetting views at function entry points address some of these issues, > and alleviate the huge chains of symbolic views that have burdened > assemblers since we disabled -ginternal-reset-location-views by > default, but other problems of undefined views remain when it's not > the whole function that lacks line number info, just parts of it. > > So, when we encounter a request to output a view that may have been > referenced, but we decide to omit the .loc because the line is zero, > we will now omit the view as well, i.e., we will internally regard > that view as zero-numbered. > > Regstrapped on x86_64-linux-gnu and i686-linux-gnu. Ok to install? > > Uros, could you please confirm whether this fixes the 84404 go problem > you reported on alpha? I'm guessing it's the same issue. TIA, > > for gcc/ChangeLog > > PR debug/84404 > PR debug/84408 > * dwarf2out.c (struct dw_line_info_table): Update comments for > view == -1. > (FORCE_RESET_NEXT_VIEW): New. > (FORCE_RESETTING_VIEW_P): New. > (RESETTING_VIEW_P): Check for -1 too. > (ZERO_VIEW_P): Likewise. > (new_line_info_table): Force-reset next view. > (dwarf2out_begin_function): Likewise. > (dwarf2out_source_line): Simplify zero_view_p initialization. > Test FORCE_RESETTING_VIEW_P and RESETTING_VIEW_P instead of > view directly. Omit view when omitting .loc at line 0. > > for gcc/testsuite/ChangeLog > > PR debug/84404 > PR debug/84408 > * gcc.dg/graphite/pr84404.c: New. OK.
jeff