[PATCH] D66457: MemTag: unchecked load/store optimization.
Vitaly Buka via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 19 18:47:24 PDT 2019
vitalybuka added a comment.
LGTM
================
Comment at: llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp:491
+ MFI.getObjectOffset(FrameIndex) + (int64_t)MFI.getStackSize(), MVT::i8};
+ if (!MFI.hasVarSizedObjects() &&
+ isAArch64FrameOffsetLegal(MI, SPOffset, nullptr, nullptr, nullptr) ==
----------------
```
if (MFI.hasVarSizedObjects() ||
isAArch64FrameOffsetLegal(MI, SPOffset, nullptr, nullptr, nullptr) !=
(AArch64FrameOffsetCanUpdate | AArch64FrameOffsetIsLegal)) {
// Can't update to SP + offset in place. Precalculate the tagged pointer
// in a scratch register.
Offset = TFI->resolveFrameIndexReference(
MF, FrameIndex, FrameReg, /*PreferFP=*/false, /*ForSimm=*/true);
...
return;
}
FrameReg = AArch64::SP;
Offset = {MFI.getObjectOffset(FrameIndex) + (int64_t)MFI.getStackSize(),
MVT::i8};
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66457/new/
https://reviews.llvm.org/D66457
More information about the llvm-commits
mailing list