[all-commits] [llvm/llvm-project] 60ca46: [AArch64][PAC] Move emission of LR checks in tail ...

Anatoly Trosinenko via All-commits all-commits at lists.llvm.org
Tue Oct 1 10:34:37 PDT 2024


  Branch: refs/heads/users/atrosinenko/move-lr-checks-to-asmprinter
  Home:   https://github.com/llvm/llvm-project
  Commit: 60ca463dc41dc695a46a1fe86b571ace0d5dd391
      https://github.com/llvm/llvm-project/commit/60ca463dc41dc695a46a1fe86b571ace0d5dd391
  Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
  Date:   2024-10-01 (Tue, 01 Oct 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
    M llvm/lib/Target/AArch64/AArch64PointerAuth.h
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/test/CodeGen/AArch64/ptrauth-ret-trap.ll
    M llvm/test/CodeGen/AArch64/sign-return-address-tailcall.ll

  Log Message:
  -----------
  [AArch64][PAC] Move emission of LR checks in tail calls to AsmPrinter

Move the emission of the checks performed on the authenticated LR value
during tail calls to AArch64AsmPrinter class, so that different checker
sequences can be reused by pseudo instructions expanded there.
This adds one more option to AuthCheckMethod enumeration, the generic
XPAC variant which is not restricted to checking the LR register.

Shorten the generic XPAC-based non-trapping sequence by one `mov`
instruction: perform XPAC on the tested register itself instead of the
scratch one as XPACLRI cannot operate on the scratch register anyway.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list