[PATCH] D71334: [AArch64] Enable clustering memory accesses to fixed stack objects

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 11 02:45:07 PST 2019


foad created this revision.
Herald added subscribers: arphaman, javed.absar, hiraditya, kristof.beyls, MatzeB.
Herald added a project: LLVM.

r347747 added support for clustering mem ops with FI base operands
including support for fixed stack objects in shouldClusterFI, but
apparently this was never tested.

This patch fixes shouldClusterFI to work with scaled as well as
unscaled load/store instructions, and fixes the ordering of memory ops
in MemOpInfo::operator< to ensure that memory addresses always
increase, regardless of which direction the stack grows.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71334

Files:
  llvm/lib/CodeGen/MachineScheduler.cpp
  llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
  llvm/lib/Target/AArch64/AArch64InstrInfo.h
  llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
  llvm/test/CodeGen/AArch64/arm64-memset-inline.ll
  llvm/test/CodeGen/AArch64/cluster-frame-index.mir
  llvm/test/CodeGen/AArch64/expand-select.ll
  llvm/test/CodeGen/AArch64/tailcall_misched_graph.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71334.233292.patch
Type: text/x-patch
Size: 18735 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191211/22991021/attachment.bin>


More information about the llvm-commits mailing list