[PATCH] D59787: [ARM] Implement TTI::getMemcpyCost

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 26 03:18:35 PDT 2019


dmgreen added inline comments.


================
Comment at: lib/Target/ARM/ARMTargetTransformInfo.cpp:420
+
+  if (!ST->allowsUnalignedMem() && Size >= 8)
+    return LibCallCost;
----------------
How come this is needed now? I was under the impression that findOptimalMemOpLowering handled allows unaligned cases. And if the memory is aligned (but size >= 8), we can still expand the memcpy.


================
Comment at: lib/Target/ARM/ARMTargetTransformInfo.cpp:434
+          MemOps,
+          ~0    /*Limit*/,
+          Size, DstAlign, SrcAlign,
----------------
Should we be using the same value as getMaxStoresPerMemcpy here?

That way we may not need the "Size >= 32 && ... " checks above.


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

https://reviews.llvm.org/D59787





More information about the llvm-commits mailing list