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 Too many edges in CFG


On Thu, 2003-05-08 at 12:14, law@redhat.com wrote:
> In message <wvl1xz95su3.fsf@prospero.boston.redhat.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.

Andrew


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