[PATCH] D62301: Fold Address Computations into Load/Store instructions for AArch64
Ramakota Reddy via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 23 03:54:21 PDT 2019
ramred01 created this revision.
ramred01 added reviewers: t.p.northover, evandro.
Herald added subscribers: kristof.beyls, javed.absar.
When compiling with -Oz, the indexed or offset address computations with or without scaling for Load/Store instructions is not folding into the Load/Store instructions for AArch64 even when the AArch64 ISA has load/store instructions with addressing modes that allow for indexed/offset addresses with/without scaling.
This has been fixed by identifying the load/store instructions and then scanning backwards for the ADD/SUB instructions that perform the address computation for the load/store instructions. Thereafter, we replace the ADD/SUB and the Load/Store instruction with an appropriate Load/Store instruction, which has the address computation folded in.
https://reviews.llvm.org/D62301
Files:
include/llvm/CodeGen/MachineOperand.h
lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
test/CodeGen/AArch64/fold_addressing_modes_aarch64.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62301.200915.patch
Type: text/x-patch
Size: 12260 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190523/f172ccea/attachment.bin>
More information about the llvm-commits
mailing list