This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa Too many edges in CFG
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Jason Merrill <jason at redhat dot com>,Diego Novillo <dnovillo at redhat dot com>,Richard Henderson <rth at redhat dot com>,gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: 08 May 2003 12:25:52 -0400
- Subject: Re: [tree-ssa Too many edges in CFG
- References: <200305081614.h48GEYH4004888@speedy.slc.redhat.com>
On Thu, 2003-05-08 at 12:14, firstname.lastname@example.org wrote:
> In message <email@example.com>, Jason Merrill writes:
> >Sure, but my point is that we should have an abnormal edge there to
> >properly model the potential flow. Use of globals is already handled by an
> >implicit USE, isn't it? I don't think we need to treat calls specially in
> >most optimizers if we describe their properties correctly.
> Thus my comment that if we want/need these edges, then they should be
> marked as fake edges since they can never be executed and that any
> code queued for insertion on a fake edge can be ignored.
:-) Yes, if an edge is required for some reason, it should be fake
only. We're carrying on 2 different discussion on the same thread, and
we're getting wires crossed (At least I am):-) When the copy operations
are inserted, you dont need any copy operations after blocks whicih end
with an edge to the EXIT block.
> >Morgan says that some algorithms, including PRE, break down if not all
> >execution paths lead to the exit block. I don't know whether that's true
> >of our implementation, but it seems like a reasonable invariant.
> Correct. However note that SSAPRE is a very different beast than PRE
> as Morgan describes it. I'm not familiar enough with SSAPRE to know if
> it requires fake edges to the exit block.
I think we actually all agree now on what we're saying. I think.