[PATCH] D54847: [MachineScheduler] Add support for clustering mem ops with FI base operands

Nirav Dave via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 26 08:53:10 PST 2018


niravd added inline comments.


================
Comment at: lib/CodeGen/MachineScheduler.cpp:1502
+               std::make_tuple(RHS.BaseOp->getIndex(), RHS.Offset, RHS.SU->NodeNum);
+      else
+        llvm_unreachable("MemOpClusterMutation only supports register or frame "
----------------
nit: Remove the final else here


================
Comment at: lib/Target/AArch64/AArch64InstrInfo.cpp:1159
+        (BaseOpA->isFI() && BaseOpB->isFI() &&
+         BaseOpA->getIndex() == BaseOpB->getIndex())) {
       int LowOffset = OffsetA < OffsetB ? OffsetA : OffsetB;
----------------
You need to do slightly more checking here as there may be operations that cross Frame index boundaries. SelectionDAGAddressAnalysis has a relevant example.


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

https://reviews.llvm.org/D54847





More information about the llvm-commits mailing list