[PATCH] D54847: [MachineScheduler] Add support for clustering mem ops with FI base operands
Francis Visoiu Mistrih via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 23 02:41:51 PST 2018
thegameg created this revision.
thegameg added reviewers: qcolombet, niravd, MatzeB, efriedma.
Herald added subscribers: arphaman, javed.absar, eraman.
Before this patch, the following stores in `merge_fail` would fail to be merged, while they would get merged in `merge_ok`:
void use(unsigned long long *);
void merge_fail(unsigned key, unsigned index)
{
unsigned long long args[8];
args[0] = key;
args[1] = index;
use(args);
}
void merge_ok(unsigned long long *dst, unsigned a, unsigned b)
{
dst[0] = a;
dst[1] = b;
}
The reason is that `getMemOpBaseImmOfs` would return false for FI base operands.
This adds support for this.
https://reviews.llvm.org/D54847
Files:
lib/CodeGen/MachineScheduler.cpp
lib/Target/AArch64/AArch64InstrInfo.cpp
test/CodeGen/AArch64/arm64-memset-inline.ll
test/CodeGen/AArch64/cluster-frame-index.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54847.175096.patch
Type: text/x-patch
Size: 5798 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181123/256fa5b5/attachment.bin>
More information about the llvm-commits
mailing list