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: [tree-ssa]: Alias analysis update


> 
> 
> On Sun, 29 Dec 2002, Diego Novillo wrote:
> 
> > On Sun, 29 Dec 2002, Daniel Berlin wrote:
> >
> > > Now bootstraps with -ftree-points-to=andersen again, and can do limited
> > > interprocedural analysis.
> > >
> > Cool.  Thanks!
> >
> >
> > > 2002-12-29  Daniel Berlin  <dberlin@dberlin.org>
> > >
> > > 	* toplev.c: Add flag_ip, enable by default at -O4+ (This is not
> > > 	set in stone, and thus, not documented).
> > >
> > Hmm, I'm not sure.  Shouldn't we wait until we have at least
> > decided how we're going to deal with IPA?
> 
> Which part, the -fip, or the enabling at -O4?
> 
> I need some way to tell the alias analyzer what to do (IE whether we want
> full file IP [ie write info out somewhere],  IP of whatever we still have
> trees around and it makes sense to do, or no IP).
> 
> We can do IPA of static functions without worrying about having to write
> out info or anything like that.
> Intel's compiler distinguishes between the two with -ip and -ipo.
> So i added flag_ip.

This reminds me my patch for callgraph construction and smarter
inlining.  I think it is good idea to start some development in this
direction perhaps even independently on AST branch as far as we can to
avoid too many changes tied together.
For a while I plan to cleanup the callgraph code and split it into three
passes - local pass storing the data, global pass and again local pass
doing the transformations and outputting code.
I think this scheme is common to any IPA implementation so we can just
put some database in between local and global pass that don't need to be
implemented in first step.

Now when we have PCH almost merged we even can start thinking about how
to save the functions themselves.  It is quite clear that local data
should be saved first and easilly loadable into memory at once for
global passes to be possible.  Then we need some way to fetch function
we need into memory and free it again when we don't want it anymore.
 
Does this sound as meaningfull plan?

Honza


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