[PATCH] D16300: Enable LoopLoadElimination by default
Adam Nemet via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 22 12:16:18 PST 2016
anemet added a comment.
It seems to me that partial redundancy means slightly different things between GVN Load-PRE and LLE.
In LLE, a load is partially redundant, if the forwarding store does not dominate all the loop latches. To make it fully redundant we would have to add loads on the unavailable paths.
I think that in GVN, the loopy case is always considered a partial redundancy case because you'd have to insert a load in the preheader. Let me know if I am getting this wrong.
So it seems to me that the LLE partial redundancy case is equivalent to the case in GVN Load-PRE when we need *more than one* load inserted.
Does this make sense?
http://reviews.llvm.org/D16300
More information about the llvm-commits
mailing list