On 06/02/14 05:50, Ilya Enkovich wrote:
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.
OK. This is fine once all the other pointer checking bits are approved.
jeff