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] Critical edge splitting (was: New regressions as of2003-11-04)


On Wed, 5 Nov 2003, Zdenek Dvorak wrote:

> Hello,
> > If you're interested, the LLVM critical edge splitter updates dominator
> > sets, immediate dominators, dominator trees, and dominance frontiers (in
> > significantly less than 150 LOC).  The code is here:
> >
> > http://llvm.cs.uiuc.edu/doxygen/BreakCriticalEdges_8cpp-source.html
> >
> > I'm not sure that I understand what the problem is with presplitting all
> > edges, but at least this will give you a nice simple incremental way to do
> > it without recalculating the world.  :)
>
> the real problem for me is that things like splitting the edges should
> just work.  Yes, recalculating the dominance information is feasible,
> but unnecessary, in this particular case.

Why doesn't edge splitting work?  What's the sticky part about it?  It's a
trivially simple operation... the link above contains the code to insert
blocks and update PHI nodes as appropriate as well.  What am I missing
here?

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/


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