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


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.


 >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.

Jeff






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