This is the mail archive of the gcc@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] Insert on edge comment



On Fri, 30 May 2003 law@redhat.com wrote:

> In message <1054337469.10801.304.camel@p4>, Andrew MacLeod writes:
>  >On Fri, 2003-05-30 at 19:13, law@redhat.com wrote:
>  >> In message <3ED7E4C7.69416EBC@redhat.com>, "Vladimir N. Makarov" writes:
>  >>  >I am ignorant too (never looked at ssa-tree branch).  As I understand the
>  >>  >problem is in phi nodes which are based on dominator frontier analysis.
>  >>  >Insertion of new BB is simple for general IR but for SSA it can significa
>  >ntly
>  >>  >change dominator frontiers for many blocks and as consequence phi-nodes i
>  >n
>  >>  >the dominator frontiers. So updating phi-nodes is not a trivial task.
>  >> That's certainly true as well.  If you look at how we do this at the
>  >> RTL level, you'll find that we don't split edges while in SSA form.
>  >> Instead we queue things (such as edge insertions) and split the edge
>  >> after we no longer need dominance info and PHI nodes.
>  >>
>  >
>  >PRE will probably want to insert things on edge and commit them before
>  >we are done with PHI nodes :-)  I suspect I'll need to add PHI node
>  >updating as a flag to the commit routine.
> Yea.  I haven't really thought about how hard the incremental update
> will be.

Well, PRE needs to see all the changes from an insertion immediately,
especially because it's necessary to keep the ssa up to
date and get strength reduction done properly.

>
> The only nice property about PRE (at least those that I've worked on) is
> that the stuff you're inserting on edges is straight-line code with no
> control flow changes.
We don't insert on edges almost ever.

>  So the class of updates you have to worry about
> is at least limited somewhat.
> jeff
>
>


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