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] Fix dominator bug


Hello,

> > this patch adds a test whether we do not forget to remove the basic
> > blocks from the dominance forest.  The Steven's patch (or at least
> > its subset included in the patch, since I don't really care about
> > updating postdominators) is of course neccesary to make it bootstrap.
> 
> Nice :)
> What happens in the RTL world?  Do we want to remove the dominators
> there too?  It would be nice to have the functions symmetric.

definitely.  They have unfortunately diverged somewhat (not only in
handling of the dominators, but also in details like that split_block
on rtl creates the new block after the original one, while the tree one
before, etc. -- I have fixed a few of them on lno branch).

It is also neccessary to separate the ir specific stuff from the generic
one (updating dominators, probabilities, etc.).  My idea is to change
the macros defined in cfghooks.h into wrapper functions that would take
care of this, and disallow any other code but these wrappers to access
the low-level hooks that would be changed to do only the ir-specific stuff.

I think I have a program for this evening :-).

> Also I
> wonder why tree_remove_bb is not registered in cfghooks...

For long time it had an additional argument; and when it got removed,
it was just somehow missed.

Zdenek


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