On 30 May 11:10, Jeff Law wrote:
> On 05/28/14 10:06, Ilya Enkovich wrote:
> >Hi,
> >
> >This patch keeps instrumented and original versions together and preserve 
> >tranparent alias chain during symbol name privatization.
> >
> >Bootstrapped and tested on linux-x86_64.
> >
> >Thanks,
> >Ilya
> >--
> >gcc/
> >
> >2013-05-28  Ilya Enkovich  <ilya.enkov...@intel.com>
> >
> >     * lto/lto-partition.c (add_symbol_to_partition_1): Keep original
> >     and instrumented versions together.
> This part is OK.  Note lto/ has its own ChangeLog, so put the
> ChangeLog entry there and don't use the "lto/" prefix in the
> ChangeLog entry.
> 
> >     (privatize_symbol_name): Restore transparent alias chain if required.
> What exactly are you doing here?  The comment in the code doesn't
> really make it clear what you are doing or why.
> 
> >+  /* We could change name which is a target of transparent alias
> >+     chain of instrumented function name.  Fix alias chain if so  .*/
> So are you saying that we want to change the name?  Or that it could
> have been changed and we have to adjust something because it was
> changed?
> 
> I'm certainly not as familiar with the LTO stuff as I should be --
> what is the purpose behing chaining the DECL_ASSEMBLER_NAME nodes?

I'm just adjusting renaming to support alias chains.  LTO renames functions to 
avoid two static functions with the same assembler name.  Instrumented 
functions have names chained with original names using 
IDENTIFIER_TRANSPARENT_ALIAS.  If name of the original function is privatized, 
then IDENTIFIER_TRANSPARENT_ALIAS still points to the old name which is wrong.  
My patch fixes it.

> 
> jeff
> 

Here is fixed ChangeLog.

Thanks,
Ilya
--
gcc/lto

2014-06-02  Ilya Enkovich  <ilya.enkov...@intel.com>

        * lto-partition.c (add_symbol_to_partition_1): Keep original
        and instrumented versions together.
        (privatize_symbol_name): Restore transparent alias chain if required.

Reply via email to