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: [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 SSA form.

--Dan


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