This is the mail archive of the 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, 14 Apr 2014, Jakub Jelinek wrote:

> 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.

If it doesn't cause issues on trunk it's ok for 4.9.1.


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