[all-commits] [llvm/llvm-project] cde9f9: [AArch64] Fix x18 being used by nest ptrs with MSV...

David Truby via All-commits all-commits at lists.llvm.org
Tue Oct 10 06:31:11 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cde9f9df79805a0850310870d6dcc64004292727
      https://github.com/llvm/llvm-project/commit/cde9f9df79805a0850310870d6dcc64004292727
  Author: David Truby <david.truby at arm.com>
  Date:   2023-10-10 (Tue, 10 Oct 2023)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64CallingConvention.h
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
    A llvm/test/CodeGen/AArch64/win64cc-x18.ll

  Log Message:
  -----------
  [AArch64] Fix x18 being used by nest ptrs with MSVC ABI (#68008)

This patch fixes an issue where x18 is used for passing pointer
parameters with
the nest attribute on Windows on AArch64. The x18 register is reserved
in the
WoA ABI so can't be used for this purpose. This is fixed by introducing
a new
Win64PCS calling convention that differs from the standard AAPCS only by
not
using x18 for nest parameters.




More information about the All-commits mailing list