[PATCH] D150963: [AArch64] merge scaled and unscaled zero narrow stores.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 24 01:10:37 PDT 2023


fhahn added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp:767
+  bool IsScaledRtMI = !TII->hasUnscaledLdStOffset(RtMI->getOpcode());
+  int OffsetStrideRtMI = IsScaledRtMI ? TII->getMemScale(*RtMI) : 1;
+  // Normalise final offset to be expressed in bytes.
----------------
Instead we could just assign OffsetStrideRtMI in the `if` above (like `RtMI`) using the already computed strides?


================
Comment at: llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp:770
+  if (IsScaledRtMI) {
+    OffsetImm *= OffsetStrideRtMI;
+  }
----------------
There's no need to check for IsScaled here, as we will just multiply with 1 in the unscaled case


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150963



More information about the llvm-commits mailing list