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

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 19 01:23:02 PDT 2021


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

In D99723#2697318 <https://reviews.llvm.org/D99723#2697318>, @tschuett wrote:

> For comparison:
> https://github.com/llvm/llvm-project/blob/main/libc/src/string/memory_utils/memcpy_utils.h

Yeah thanks, but this is for a different architecture. On M class we have access to MVE tail predicated loops that can be much more efficient for emitting inline memcpys. A-Class Arm with Neon will be very different.

This looks good to me now, with a couple of extra nits.



================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:1817
+  case ARMISD::MEMCPYLOOP:
+    return "ARMISD::MEMCPYLOOP";
   }
----------------
Remove newline.


================
Comment at: llvm/lib/Target/ARM/ARMSelectionDAGInfo.h:19
 #include "llvm/CodeGen/SelectionDAGTargetInfo.h"
+#include "llvm/Support/CommandLine.h"
 
----------------
Is this needed here? Can it be in the cpp file?


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