[all-commits] [llvm/llvm-project] 466101: [AArch64][SME] Support Windows/stack probes in Mac...

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Tue Aug 19 10:01:57 PDT 2025


  Branch: refs/heads/users/MacDue/windows-sme
  Home:   https://github.com/llvm/llvm-project
  Commit: 466101e3201c1db17b2c1a1ba211a79e096fefcf
      https://github.com/llvm/llvm-project/commit/466101e3201c1db17b2c1a1ba211a79e096fefcf
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-08-19 (Tue, 19 Aug 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


  Commit: b18d8f1e791a3ca6f23c233e4ddd512992c3fe3f
      https://github.com/llvm/llvm-project/commit/b18d8f1e791a3ca6f23c233e4ddd512992c3fe3f
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-08-19 (Tue, 19 Aug 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp

  Log Message:
  -----------
  Update comment

Change-Id: I5dca6eaca8613a33e89a5cec9cc7d2c0f9cc7fb5


Compare: https://github.com/llvm/llvm-project/compare/a2e73ca1dabf...b18d8f1e791a

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