[PATCH] D75013: [LoopTerminology] Rotated Loops

Stefanos Baziotis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 22 13:07:02 PST 2020


baziotis added a comment.

So, I'm sure I'm not the best to write this one since //I// have not understood it completely, but first of all, after trying a lot to understand it, I feel it needs doc.
Second, I hope that you can help me write it correctly. :)

The point in which I'm perplexed is the latch. First of all, one of the goals of this transformation seems to be that the latch be also an exiting. That makes sense.
But in the videos I reference above, one says "canonicalize latch to have one predecessor" (Writing Loop Optimizations in LLVM) while the other "... a single successor" (Loop Fusion etc.).
And I don't get what is correct and what is not. First, predecessors of the latch don't seem to be important. Second, if the successors are what we care about, then in the examples
given in the videos, in the left example (before the transformation) the latch does have a single successor. While in the right (the transformed), it has 2.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75013/new/

https://reviews.llvm.org/D75013





More information about the llvm-commits mailing list