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: [LTO] [PATCH] Avoid middle/back-end use of set_decl_assembler_name and tree_size lang hooks


Robert Kennedy wrote:

> This patch eliminates the set_decl_assembler_name and tree_size
> lang-hooks from the call graph of LTO. They are still present for
> source language front ends; the LTO front end sets the
> set_decl_assembler_name to a stub that amounts to gcc_unreachable(),
> and leaves the tree_size hook set to the default stub that does the
> same.

Very glad to see you working on this!

The lto/* changes are OK.  I didn't know about DW_AT_MIPS_LINKAGE_NAME;
I was planning to invent an attribute for that.  I guess MIPS already
did. :-)

However, I'm not really keen on the MBE_DECL_RTL idea.   One of the open
questions in the LTO design is to what extent (if at all) RTL (as
opposed to trees) should be saved/restored across recompilation.
Certainly, the only RTL we should consider saving/restoring is
"declarative RTL" for global objects, not the "executable RTL" that
makes up the bodies of functions.  However, perhaps we can avoid even
that, and make the LTO boundary completely RTL-free, which would seem
best to me.

I would have expected that the assembler-name hook for LTO would abort
if the assembler name was not already set, but otherwise be tolerant.
If we adopt that approach, do we still need your change?

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


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