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: [PATCH, CHKP] Restore transparent alias chains


2015-04-03 20:09 GMT+03:00 Jan Hubicka <hubicka@ucw.cz>:
>>
>> That is the reason for fixing chains in privatize_symbol_name.
>
> OK, so with your proposed patch you produce the links during lto-stream-in
> but because the links may be wrong due to multiple different symbol sharing same
> assembler name you rely on not using it until you fixup in privatize_symbol_name.
> What happen when you have two symbols with different links sharing assembler name
> originally, but you rename one and do not rename other during privatization?
>
> It still looks much safer to simply install the links only after names become unique
> and probably don't do that during WPA compilation at all, since we never output
> any assembly.

Original links are not wrong. Links just may be shared by many decl
pairs. If we always privatize whole pair and never privatize only one
its member, then we don't break existing links but create new ones for
newly created assembler names.

Agree it may be simplified by producing links later and it is useless
for WPA because links are not streamed out. Probably set links in
lto_main before symbol_table::compile call?

Thanks,
Ilya

>>
>> I don't see how 1-1 matching may be achieved now for instrumented
>> functions. We have two cgraph_nodes which actually represent the same
>> function. Thus single real symbol for two nodes.
>
> Yeah, this is quite important change in the design assumptions for symtab that
> is why we need so many places to fix...
>
> Honza
>>
>> Thanks,
>> Ilya
>>
>> >
>> > Honza


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