[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