This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] AST optimizer in C++?
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Chris Lattner <sabre at nondot dot org>
- Cc: Diego Novillo <dnovillo at redhat dot com>,Pop Sébastian <pop at gauvain dot u-strasbg dot fr>,<gcc at gcc dot gnu dot org>
- Date: Sun, 25 Aug 2002 19:12:03 -0400 (EDT)
- Subject: Re: [tree-ssa] AST optimizer in C++?
- Reply-to: dberlin at dberlin dot org
> > The approach we use now does not interfere with the underlying
> > IR. What it does is overlay a web of def-use/use-def pointers on
>
> Is there a reason that you'd like to have a SIMPLE form that is not in
> SSA?
Um, yes.
It artificially limits us to that representation.
Say later, someone wants to use some other form of SSA, or non-SSA
(dependence flow graph, etc).
If you make it actually part of the trees, they now have to care about
it.
If it's just annotations, only what wants to look at those annotations
look at it.
Plus, there are optimization passes that might not be run on SSA (some
loop optimizations).
Once again, forcing SSA on the representation itself means they have to
care about it (or you've limited when they can be run), while annotations
have no such limitations.
There is no good reason to actually make it part of the form, other than
having to insert copies yourself. But all algorithms i've seen that are
written to keep SSA form up to date do this anyway, or make it easy to do.
--Dan