[PATCH] D22630: Loop rotation

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 25 15:11:29 PDT 2020


Meinersbur added a comment.

Could you do the following?

1. Rebase to the current master. The diff does not apply.

2. Make the title more concrete. This is not the initial implementation of loop rotation

3. Describe in the summary what the changes are compared to the current LoopRotation pass.

4. Clarify the summary "Canonicalize loop latch to have only one successor." An already-rotated loop will have two successors: the header and the loop exit. Does this mean it will split the backedge just to have a latch with just the backedge as successor? Will the empty block be removed again?



================
Comment at: llvm/lib/Transforms/Scalar/LoopRotation.cpp:18
+// Only the loops satisfying following properties are rotated:
+// - The loop is an SEME (Single Entry Multiple Exit) region.
+// - The loop has a header and its terminator conditionally exits the loop.
----------------
This is true for all LoopInfo-detected loops.


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

https://reviews.llvm.org/D22630





More information about the llvm-commits mailing list