This is the mail archive of the 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, wrote:
> In message <>, 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.


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