[PATCH] D86191: Fix AArch64's Generating Ineffective Load/Store With Large Offset.

zuojian lin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 18 20:29:12 PDT 2020


linzj created this revision.
linzj added reviewers: t.p.northover, craig.topper.
Herald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
linzj requested review of this revision.

Add new combiner to split the address arithmetic into a new base and a
new offset, So that the offset fit into the load/store operation.
The base/offset algorithm comes from GCC: aarch64_anchor_offset function
in aarch64.c.
GCC also has a mechanism to legitimize address: target
hook legitimize_address.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86191

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/ldst-large-offset.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86191.286465.patch
Type: text/x-patch
Size: 6854 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200819/de00a26c/attachment.bin>


More information about the llvm-commits mailing list