[AArch64] Allow pairing lr with other GPRs for WinCFI
authorMartin Storsjö <martin@martin.st>
Wed, 23 Sep 2020 11:26:45 +0000 (14:26 +0300)
committerMartin Storsjö <martin@martin.st>
Sat, 3 Oct 2020 18:37:22 +0000 (21:37 +0300)
commit890af2f003c83349ff5917d80023b8b796f76489
treefd067465afe3ee9c9b3ff32bc30241d077757755
parent3780a4e568ac763567cc6987372e04f9e3c68ff9
[AArch64] Allow pairing lr with other GPRs for WinCFI

This saves one instruction per prologue/epilogue for any function with
an odd number of callee-saved GPRs, but more importantly, allows such
functions to match the packed unwind format.

Differential Revision: https://reviews.llvm.org/D88699
llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
llvm/test/CodeGen/AArch64/win64_vararg.ll
llvm/test/CodeGen/AArch64/wineh-save-lrpair1.mir [new file with mode: 0644]
llvm/test/CodeGen/AArch64/wineh-save-lrpair2.mir [new file with mode: 0644]
llvm/test/CodeGen/AArch64/wineh-save-lrpair3.mir [new file with mode: 0644]