Jakub, Richard, Uday,
Thanks for your answers.
On 15 Aug 20:59, Richard Biener wrote:
> Alternatively you make lto-wrapper aware of this which means that WPA stage
> would emit extra partitions that it marks for lto-wrapper.
>
> That sounds better than another plugin to me. Of course WPA time might be
> too limiting. Otoh the idea of multiple WPA stages, aka iterating lto could
> be picked up to have a late WPA stage.
>
> Richard.
I'm trying to implement the approach with modified lto-wrapper.
Suppose we have a bytecode of the routine foo, streamed during ompexp pass into
some section, say .gnu.omptarget_foo.
In function lto.c:do_whole_program_analysis() an extra partition should be
created, that will contain bytecode from .gnu.omptarget_foo, right?
As far as I understood, in addition to the bytecode of foo, we should also
stream extra symtab_nodes, and read them somewhere in
lto-cgraph.c:input_symtab().
This means we should maintain 2 symtabs inside WPA stage - original for host
and new for target?
Richard, also what do you mean by "WPA time might be too limiting"?
Thanks,
-- Ilya