[PATCH] D71165: [LoopFusion] Move instructions from FC0.Latch to FC1.Latch.

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 13:52:07 PST 2019


Meinersbur accepted this revision.
Meinersbur added a comment.
This revision is now accepted and ready to land.

LGTM



================
Comment at: llvm/lib/Transforms/Scalar/LoopFuse.cpp:1134
+  void moveInsts(BasicBlock &FromBB, BasicBlock &ToBB, DomTreeUpdater &DTU) {
+    for (auto It = ++FromBB.rbegin(); It != FromBB.rend();) {
+      Instruction *MovePos = ToBB.getFirstNonPHIOrDbg();
----------------
[style]
```
for (Instruction &I : drop_begin(reverse(FromBB), 1))
```


================
Comment at: llvm/lib/Transforms/Scalar/LoopFuse.cpp:1135
+    for (auto It = ++FromBB.rbegin(); It != FromBB.rend();) {
+      Instruction *MovePos = ToBB.getFirstNonPHIOrDbg();
+      Instruction &I = *It;
----------------
[suggestion] Can this be hoisted before the loop?


================
Comment at: llvm/lib/Transforms/Scalar/LoopFuse.cpp:1139-1142
+      if (isSafeToMoveBefore(I, *MovePos, DT, PDT, DI))
+        I.moveBefore(MovePos);
+      else
+        break;
----------------
[style] https://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return
```
if (!isSafeToMoveBefore(I, *MovePos, DT, PDT, DI))
  break;

I.moveBefore(MovePos);
```


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71165





More information about the llvm-commits mailing list