This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] local-factoring on TREE-SSA
(Personally I think this whole transformation should not be done at the
tree level, but instead on RTL. What happened to that idea??)
Even if you decide the tree level is right, you'd be better off doing
it in GVN-PRE anyway, where we have the infrastructure for doing it.
For example, GVN-PRE can already tell you what expressions have what
values (and thus, whether two basic blocks compute the same values or
contain the same statement), and where you can move them to.
Hoisting and sinking is thus a simple task, as the only thing you need
to do is decide which you want to factor.
Looking through the patch, it looks like a straight conversion of some
rtl pass to try to make it work on tree-ssa, without actually seeing
whether it made sense to do it that way on an SSA form.
There has been much written about code hoisting and sinking in general,
and code hoisting is very different (and much easier) on an SSA form
than it is on a non-SSA form like RTL.
I'd seriously suggest you take a second look about how you are going
about doing this hoisting and factoring if you are going to do it on an