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

Malhar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 15 02:06:49 PDT 2021


malharJ added inline comments.


================
Comment at: llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp:142
+                         const SelectionDAG &DAG) {
+    return !DAG.getMachineFunction().getFunction().hasOptNone() &&
+           ((!ConstantSize && (Alignment >= Align(4))) ||
----------------
dmgreen wrote:
> Probably better as:
> ```
> if (DAG.getMachineFunction().getFunction().hasOptNone())
>   return false;
> if (!ConstantSize && (Alignment >= Align(4))
>   return true;
> if (...)
>  ...
> ```
> 
> The EnableMemcpyTPLoop  logic could be in here too, as it's just returning true/false at the right time.
> What do we do for -Oz and -Os?
Ok. 

And I guess it would be best to disable in the case of -Os/-Oz in case
there are multiple memcpys in the source. I've made the update and added tests as well.


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