[PATCH] D88699: [AArch64] Allow pairing lr with other GPRs for WinCFI
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 1 14:36:38 PDT 2020
efriedma added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp:1318
+ if (MI->getOperand(1).getImm() == 30 && MI->getOperand(0).getImm() >= 19 &&
+ MI->getOperand(0).getImm() <= 28) {
+ TS->EmitARM64WinCFISaveLRPair(MI->getOperand(0).getImm(),
----------------
Looking at the reference, the first number should be an odd number between 19 and 27.
================
Comment at: llvm/test/CodeGen/AArch64/wineh-save-lrpair2.mir:5
+# Check that lr isn't paired with a GPR if it's the first pair, as
+# that can't be described as a SEH opcode if combined with predecrement.
+
----------------
It would probably be slightly more efficient to express this as alloc_s followed by save_lrpair, but I guess we can look into that as a followup.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88699/new/
https://reviews.llvm.org/D88699
More information about the llvm-commits
mailing list