[PATCH] D75533: [ARM][LowOverheadLoops] Handle reductions

Sjoerd Meijer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 30 08:39:53 PDT 2020


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

Thanks, nice optimisation.



================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:277
     // after tail predication conversion.
-    bool ValidateLiveOuts() const;
+    bool ValidateLiveOuts();
 
----------------
is it not const anymore?


================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:693
+  case ARM::MVE_VCTP8:
+    if (Reduce->getOpcode() != ARM::MVE_VADDi8)
+      return false;
----------------
Do we have a (negative) test case with a float reduction?


================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:737
+
+  // Then find whether there's an instruction initialising the register that
+  // is storing the reduction.
----------------
nit: perhaps move this comment down a bit...


================
Comment at: llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp:739
+  // is storing the reduction.
+  if (!Preheader)
+    return false;
----------------
...and check this earlier.


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

https://reviews.llvm.org/D75533





More information about the llvm-commits mailing list