Hi,

Thank you Richard and Honza for the suggestions. If I understand correctly,
the issue is that LTO file format keeps changing per compiler versions, so
we need a more “stable” representation and the first step for that would be
to “stabilize” representations for lto-cgraph and symbol table ? Could you
please elaborate on what initial steps need to be taken in this regard, and
if it’s feasible within GSoC timeframe ?

Thanks!

I am trying to break down the project into milestones for the proposal. So
far, I have identified the following objectives:

1] Creating a separate driver, that can read LTO object files. Following
Richard’s estimate, I’d leave around first half of the period for this task.

Would that be OK ?

Coming to 2nd half:

2] Dumping pass summaries.

3] Stabilizing lto-cgraph and symbol table.

Thanks,

Hrishikesh


On Fri, Mar 2, 2018 at 6:31 PM, Jan Hubicka <hubi...@ucw.cz> wrote:

> Hello,
> > On Fri, Mar 2, 2018 at 10:24 AM, Hrishikesh Kulkarni
> > <hrishikeshpa...@gmail.com> wrote:
> > > Hello everyone,
> > >
> > >
> > > Thanks for your suggestions and engaging response.
> > >
> > > Based on the feedback I think that the scope of this project comprises
> of
> > > following three indicative actions:
> > >
> > >
> > > 1. Creating separate driver i.e. separate dump tool that uses lto
> object API
> > > for reading the lto file.
> >
> > Yes.  I expect this will take the whole first half of the project,
> > after this you
> > should be somewhat familiar with the infrastructure as well.  With the
> > existing dumping infrastructure it should be possible to dump the
> > callgraph and individual function bodies.
> >
> > >
> > > 2. Extending LTO dump infrastructure:
> > >
> > > GCC already seems to have dump infrastructure for pretty-printing tree
> > > nodes, gimple statements etc. However I suppose we’d need to extend
> that for
> > > dumping pass summaries ? For instance, should we add a new hook say
> “dump”
> > > to ipa_opt_pass_d that’d dump the pass
> > > summary ?
> >
> > That sounds like a good idea indeed.  I'm not sure if this is the most
> > interesting
> > missing part - I guess we'll find out once a dump tool is available.
>
> Concering the LTO file format my longer term aim is to make the symbol
> table sections (symtab used by lto-plugin as well as the callgraph section)
> and hopefully also the Gimple streams) documented and well behaving
> without changing the format in every revision.
>
> On the other hand the summaries used by individual passes are intended to
> be
> pass specific and envolving as individula passes become stronger/new passes
> are added.
>
> It is quite a lot of work to stabilize gimple representation to this
> extend,
> For callgraph&symbol table this is however more realistic. That would mean
> to
> move some of existing random stuff streamed there into summaries and
> additionaly
> cleaning up/rewriting lto-cgraph so the on disk format actually makes
> sense.
>
> I will be happy to help with any steps in this direction as well.
>
> Honza
>

Reply via email to