Update comment

Change-Id: I5dca6eaca8613a33e89a5cec9cc7d2c0f9cc7fb5
This commit is contained in:
Benjamin Maxwell 2025-07-18 13:29:39 +00:00
parent 9799316c58
commit 142af7d225

View File

@ -549,10 +549,12 @@ void MachineSMEABI::emitAllocateLazySaveBuffer(
// 1. Allocate the lazy save buffer.
if (Buffer == AArch64::NoRegister) {
// TODO This function grows the stack with a subtraction, which doesn't work
// on Windows. Some refactoring to share the functionality in
// LowerWindowsDYNAMIC_STACKALLOC will be required once the Windows ABI
// supports SME
// TODO: On Windows, we allocate the lazy save buffer in SelectionDAG (so
// Buffer != AArch64::NoRegister). This is done to reuse the existing
// expansions (which can insert stack checks). This works, but it means we
// will always allocate the lazy save buffer (even if the function contains
// no lazy saves). If we want to handle Windows here, we'll need to
// implement something similar to LowerWindowsDYNAMIC_STACKALLOC.
assert(!Subtarget->isTargetWindows() &&
"Lazy ZA save is not yet supported on Windows");
Buffer = MRI->createVirtualRegister(&AArch64::GPR64RegClass);