Prune TYPE_FIELDS lists more in free_lang_data

Richard Biener rguenther@suse.de
Fri Dec 11 09:28:00 GMT 2015


On Fri, 11 Dec 2015, Jan Hubicka wrote:

> > 
> > We explicitely do not use debug-info-level tests in free-lang-data
> > to allow mixing -g and -g0 objects.  Are you sure doing the above
> > doesn't mess up tree merging enough to effectively enlarge WPA
> > memory use and the merged decl sections?
> > 
> > [I'm quite sure firefox build system manages to mess up -g vs. -g0
> > in some places ;)]
> 
> Hmm, I will try the debug build with firefox on this.  -fdump-ipa-devirt
> now dumps all main variants that are duplicates of one ODR type.
> We definitely have types with hundreds of duplicates, so there are
> quite common cases where tree merging does not fire.
> > 
> > > +  return (!DECL_IGNORED_P (decl) && !is_redundant_typedef (decl));
> > > +}
> > > +
> > 
> > The patch would be ok if you simply export is_redundant_typedef
> > and inline the DECL_IGNORED_P check into free-lang-data.
> 
> OK, I had that originally, will return that back.
> is_redundant_typedef is declared inline.  Putting it to tree.h drags
> bit too many dwarf2out internals, but I suppose it is OK to just
> turn it non-inline.  It is a type of function where inliner should be
> able to decide.

Yeah.

Richard.

> Honza
> > 
> > Thanks,
> > Richard.



More information about the Gcc-patches mailing list