[PATCH] D99723: [ARM] Transforming memcpy to Tail predicated Loop

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 15 02:44:11 PDT 2021


dmgreen added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp:142
+                         const SelectionDAG &DAG) {
+    auto& func = DAG.getMachineFunction().getFunction();
+    // Do not generate inline TP loop if optimizations is disabled,
----------------
func -> Func. Or maybe just F, which is quite common in LLVM.


================
Comment at: llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp:149
+      return true;
+    if (EnableMemcpyTPLoop == cl::BOU_UNSET)
+      if (!ConstantSize && Alignment >= Align(4))
----------------
  if (EnableMemcpyTPLoop == cl::BOU_FALSE)
    return false;

Is probably better, if it works as I expect. That keeps the indenting down, and the last if currently isn't in the block it looks like it should be.

Oh, and move EnableMemcpyTPLoop above the OptSIze/OptNone, in case we want to try and force it. (Even if OptNone doesn't work, using that combo is unlikely to be useful at any rate.)


================
Comment at: llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp:154
+          && ConstantSize->getZExtValue() < Subtarget.getMaxTPLoopInlineSizeThreshold())
+        return true;
+  };
----------------
Add a return false at the end?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99723



More information about the llvm-commits mailing list