[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