On 2012.09.18 at 15:35 +0200, Jan Hubicka wrote:
> Hi,
> this patch reorganize lto-symtab to work across symtab's symbol table instead
> of building its own.  This simplifies things a bit and with the previous
> changes it is rather straighforward - i.e. replace all uses of
> lto_symtab_entry_t by symtab_node.
> 
> There are few differences in between the symtab as built by lto-symtab and
> our symbol table.  In one direction the declarations that are not going to be
> output to final assembly (i.e. are used by debug info and such) are not in 
> symbol table and consequentely they no longer get merged.  I think this is 
> fine.
> 
> Other difference is that symbol table contains some symbols that are not 
> really
> symbols in classical definition - such as inline clones or functions held in
> table only for purposes of materialization.  I added symtab_real_symbol_p
> predicate for this.  It would make more sense to exclude those from the
> assembler name hash and drop checks I added to lto-symtab.c.  I plan to work 
> on
> this incrementally - it is not completely trivial. The symbol can become
> non-real in several ways and it will need bit of work to get this consistent.
> 
> Bootstrapped/regtested x86_64-linux, tested by building Mozilla, Qt and other
> stuff with LTO. OK?

This patch causes: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54625

-- 
Markus

Reply via email to