[PATCH] D45199: AArch64: Allow offsets to be folded into addresses with ELF.

Peter Collingbourne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 10 22:20:57 PDT 2018


pcc updated this revision to Diff 141947.
pcc added a comment.

Proposed reland with a new implementation and an offset bounds check to preserve the code model.

While I was looking at the bot failure from when I originally landed
this patch, I noticed that there is actually a simple way to implement
the offset bounds check while preserving the ldp optimization and
allowing the computed address to be reused, and that is to implement
the offset folding as a DAG combine. I'm still working on code size
numbers but I don't see a reason why they would regress from the
previous patch.


https://reviews.llvm.org/D45199

Files:
  llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/arm64-addrmode.ll
  llvm/test/CodeGen/AArch64/arm64-vector-ldst.ll
  llvm/test/CodeGen/AArch64/fold-global-offsets.ll
  llvm/test/CodeGen/AArch64/global-merge-3.ll
  llvm/test/CodeGen/AArch64/global-merge-ignore-single-use-minsize.ll
  llvm/test/CodeGen/AArch64/global-merge-ignore-single-use.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D45199.141947.patch
Type: text/x-patch
Size: 22800 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180411/654651d9/attachment.bin>


More information about the llvm-commits mailing list