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: Fix indirect call profiling for COMDAT symbols


On Mon, Apr 14, 2014 at 07:22:37PM +0200, Jan Hubicka wrote:
> > Hi,
> > while looking into firefox profiles, I noticed that we miss devirtualizations
> > to comdat symbols, because we manage to get different profile_id in each
> > unit.  This is easily fixed by the following patch that makes profiled_id
> > to by crc32 of the symbol name in this case.
> > 
> > Bootstrapped/regtested x86_64-linux, tested with firefox, will
> > commit it tomorrow.
> 
> this is version I comitted with minor change of using the coverage checksum
> because I think some of anonymous namespace functions do get exported with
> random seed attached in a very side case.
> 
> To answer Martin's question, I am just removing the tp_first_run merging code becuase
> it is done twice - second time in ipa_merge_profiles.
> 
> Jakub/Richi: I would like to see this in 4.9 (it is missed optimization compared
> to 4.8). Let me know when it is OK to commit it (perhaps minus the lto-symtab.c
> change that is not necessary).

For missed optimization at this point I'd prefer not to put it into 4.9.0
GA, for whether it is ok for 4.9.1 I'll defer to Richi.

	Jakub


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