This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Prune BLOCK_VARs lists in free_lang_data
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, gcc-patches at gcc dot gnu dot org
- Date: Tue, 19 Jan 2016 13:39:09 +0100
- Subject: Re: Prune BLOCK_VARs lists in free_lang_data
- Authentication-results: sourceware.org; auth=none
- References: <20160115110802 dot GD77658 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1601151236370 dot 31122 at t29 dot fhfr dot qr> <20160116102709 dot GD46287 at kam dot mff dot cuni dot cz> <0212CB54-48F8-44D0-8ABB-E0034F39294D at suse dot de> <20160116104131 dot GE46287 at kam dot mff dot cuni dot cz> <20160119115352 dot GE5273 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1601191319150 dot 31122 at t29 dot fhfr dot qr>
> On Tue, 19 Jan 2016, Jan Hubicka wrote:
>
> > Hi,
> > here is updated patch. It has same effect as the former version.
> >
> > Bootstrapped/regtested x86_64-linux, OK?
>
> But what about the comment?
>
> We track no
> information on whether given type is used or not, so we have
> to keep them even when not emitting debug information,
> otherwise we may end up remapping variables and their (local)
> types in different orders depending on whether debug
> information is being generated. */
>
> which suggests that the TYPE_DECLs somehow "order" remapping
> of local types and that is somehow important (maybe for VLA
> types which refer to locals). OTOH local vars are also
> duplicated in order before copying stmts (which may introduce
> differences because of seeing debug stmts or not refering to
> decls/types).
The original patch is here:
https://gcc.gnu.org/ml/gcc-patches/2011-01/msg01344.html
my understand is that it is all about DECL_UID being stable with -g0
and -g. My patch does not change that becuase I drop ignored and redundant
typedefs even with -g.
Honza