> On Mon, Nov 15, 2010 at 5:39 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
> >> > Fortunately linker plugin solves the problem here and this is why I want 
> >> > to
> >> > have it by default.  GCC then can do effectively -fwhole-program for 
> >> > binaries
> >> > (since linker knows what will be bound elsewhere) and take advantage of
> >> > visibility((hidden)) hints for shared libraries same way.  Most of 
> >> > important
> >> > shared libraries gets visibility ((hidden)) right.
> >> >
> >> > It is sad that LTO w/o linker plugin doesn't give that much benefits.
> >> > Ideas are welcome here.
> >>
> >> Linker feedback will be limited here -- mostly global variable
> >> aliasing (as I remember only 2/3 spec programs benefit from it), it
> >> helps  You don't get whole program points-to, whole program mod-ref
> >> (with context sensitivity), whole program structure layout. The latter
> >> are the real kickers (in terms of SPEC performance), but promoting LTO
> >> with those numbers can be misleading as many programs won't get it.
> >
> > Well, I am speaking of our linker plugin here.  What it does is to pass GCC
> > resolution information so it knows what symbols are bound externally. Since
> > typically you link LTO alone or with small non-LTO part, most of symbols are
> > not bound and thus effecitvely you get -fwhole-program (-fwhole-program just
> > declare everything static except for main ())
> >
> > We don't really do whole program points-to or structure layout.
> 
> gcc will eventually, right?

Sure hope so ;) 
We really need to solve scalability with our IPA points-to and make it
compatible with WHOPR.
> 
> > Mod-ref is just
> > simple ipa-reference code. How you get context sensitivity on mod/ref?
> 
> mod-ref relies on points-to. With context sensitive points-to, you can
> also get CS mod-ref -- basically mod-ref info per callsite.

Ah sure, I was too focused on our current "mod/ref" :)

Honza

Reply via email to