[all-commits] [llvm/llvm-project] 4250be: [AArch64][SME] Support Windows/stack probes in Mac...
Benjamin Maxwell via All-commits
all-commits at lists.llvm.org
Thu Jul 17 02:58:19 PDT 2025
Branch: refs/heads/users/MacDue/windows-sme
Home: https://github.com/llvm/llvm-project
Commit: 4250bec812603b7520dc36f26d68a2c3834ad6cd
https://github.com/llvm/llvm-project/commit/4250bec812603b7520dc36f26d68a2c3834ad6cd
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-07-17 (Thu, 17 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
A llvm/test/CodeGen/AArch64/sme-lazy-save-windows.ll
M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll
Log Message:
-----------
[AArch64][SME] Support Windows/stack probes in MachineSMEABIPass
On Windows or with stack probes on other targets, additional code needs
to be inserted after dynamic stack allocations to validate stack
accesses and/or ensure enough stack space has been allocated.
Rather than handle this case in the MachineSMEABIPass (like we do for
the standard case), we allocate the memory for the lazy save buffer in
SelectionDAG, which allows the existing expansions to emit the correct
code.
Note: This means in these cases, we may allocate a lazy save buffer when
there are no lazy saves present in the function (as we have to allocate
the buffer before the MachineSMEABIPass runs).
Change-Id: If89ab54c4de79f6fe5513a6b387e9e349f7bc7d1
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