[PATCH] D69307: [Alignment][NFC] getMemoryOpCost uses MaybeAlign

Clement Courbet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 23 02:27:18 PDT 2019


courbet accepted this revision.
courbet added inline comments.
This revision is now accepted and ready to land.


================
Comment at: llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp:640
   if (ST->isMisaligned128StoreSlow() && Opcode == Instruction::Store &&
-      LT.second.is128BitVector() && Alignment < 16) {
+      LT.second.is128BitVector() && (!Alignment || *Alignment < 16)) {
     // Unaligned stores are extremely inefficient. We don't split all
----------------
`Align(16)` ?


================
Comment at: llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp:172
       // Cost of constructing HVX vector from scalar loads.
-      Alignment = std::min(Alignment, RegWidth / 8);
-      unsigned AlignWidth = 8 * std::max(1u, Alignment);
+      if (!Alignment || Alignment > RegWidth / 8)
+        Alignment = Align(RegWidth / 8);
----------------
`Align(RegWidth / 8)` ?


================
Comment at: llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp:184
                                                                  : 1;
-    Alignment = std::min(Alignment, 8u);
-    unsigned AlignWidth = 8 * std::max(1u, Alignment);
+    if (Alignment && Alignment > 8)
+      Alignment = Align(8);
----------------
`Align(8)` ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D69307





More information about the llvm-commits mailing list