[PATCH] D21237: LoopRotation: remove iterative calls to rotateLoops

Michael Zolotukhin via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 10 15:22:53 PDT 2016


mzolotukhin added a comment.

I committed http://reviews.llvm.org/D20181 in r272439.

> We were also thinking to remove the corner cases of code hoisting from loop rotation (it is not the place to do these cleanups.)


Yeah, these clean-ups are always getting in the way. I really think we should improve LoopSimplifyCFG and introduce LoopInstSimplify that would take care of that (I have that on my todo list, but I'm not sure if I can make it in a near future).

> And then we would simplify the code copying with a plain BB->copy().

>  We need to keep copying BBs as far as we have not reached the loop latch and still under some budget in terms of number of copied instructions.


Right, my idea was to make loop-rotation more generic, thus enabling it on more complicated loops. It has some interesting corner cases though: for instance you can end up with several nested loops after rotating a single loop, but that's details, which we'll figure out in the process:)


http://reviews.llvm.org/D21237





More information about the llvm-commits mailing list