This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR86462
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org, jason at redhat dot com
- Date: Thu, 12 Jul 2018 12:35:30 +0200
- Subject: Re: [PATCH] Fix PR86462
- References: <alpine.LSU.2.20.1807121226260.16707@zhemvz.fhfr.qr>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Thu, Jul 12, 2018 at 12:29:20PM +0200, Richard Biener wrote:
> After my PR86413 fix to always annotate existing lexical block DIEs with
> range attributes debuginfo grows significantly in case we previously
> had "stale" lexical block DIEs without any variables.
>
> The following fixes this by eliding those comletely and not emitting
> a lexical block DIE for blocks that just contain DECL_INGORED_P
> entities. This solves the reported size regression and the
> empty lexical block DIEs vanish.
>
> Bootstrap & regtest running on x86_64-unknown-linux-gnu.
>
> OK for trunk?
Do you have a proof that BLOCK_NON_LOCALIZED_VAR is ever !DECL_IGNORED_P?
I see it is filled with:
if ((!optimize || debug_info_level > DINFO_LEVEL_TERSE)
&& !DECL_IGNORED_P (old_var)
&& nonlocalized_list)
vec_safe_push (*nonlocalized_list, old_var);
(twice) in tree-inline.c. Anything else that populates it?
Jakub