[all-commits] [llvm/llvm-project] f05fa6: [AArch64] Fix argument passing in reserved registe...

antangelo via All-commits all-commits at lists.llvm.org
Sun Jun 23 14:18:56 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f05fa6e0cfdc61f29bac94b157a56e048d10efd1
      https://github.com/llvm/llvm-project/commit/f05fa6e0cfdc61f29bac94b157a56e048d10efd1
  Author: antangelo <contact at antangelo.com>
  Date:   2024-06-23 (Sun, 23 Jun 2024)

  Changed paths:
    M clang/include/clang/Basic/AttrDocs.td
    M llvm/lib/Target/AArch64/AArch64CallingConvention.td
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/test/CodeGen/AArch64/preserve_nonecc_call.ll

  Log Message:
  -----------
  [AArch64] Fix argument passing in reserved registers for preserve_nonecc (#96259)

These registers include:
- X19, used by LLVM as the base pointer
- X15 on Windows, where it is used for stack allocation. It can still be
used on Linux/Darwin.
- Adjust FrameLowering scratch register code to not assume X9 is
available if the calling convention is preserve_nonecc. The code will
then pick an unused register as scratch, and allow X9 to continue being
used for argument passing.



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