> Hi,
> 
> On Thu, Sep 01, 2011 at 08:52:30PM +0200, Jan Hubicka wrote:
> > > - Nevertheless, this method of devirtualization cannot automatically
> > >   de-thunkize this-adjusting thunks and newly direct calls to them
> > >   cannot be inlined because the inliner does not have this capability
> > >   now.  This is in fact a regression from 4.6, and testcases
> > >   ivinline-7.C and ivinline-9.C had to be XFAILed exactly for this
> > >   reason.  The size of the memory savings and the fact that we do not
> > >   devirtualize that much now make this an acceptable tradeoff, though.
> > 
> > OK, the "dethunkization" was ugly anyway.  I guess we will need to add 
> > support
> > for handling thunks in inliner but that can go incrementally.
> 
> Do we actually have the offsets and indices necessary for
> de-thunkization available somewhere in the middle end structures (with
> BINFO_VIRTUALs being freed in free_lang_data now)?

They live in cgraph, at least for thunks that has been finalized in current 
compilation
unit.  I wonder how much we care about de-thunkizing calls into other 
compilation unit,
but then C++ FE can just add the thunks into callgraph, too.

Honza

Reply via email to