[all-commits] [llvm/llvm-project] 8b93f2: [AArch64][SME] Fixup ABI routine insertion points ...

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Wed Oct 15 02:57:24 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8b93f27cf7e6e53636db870873b53269efa3cca4
      https://github.com/llvm/llvm-project/commit/8b93f27cf7e6e53636db870873b53269efa3cca4
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-10-15 (Wed, 15 Oct 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    A llvm/test/CodeGen/AArch64/machine-sme-abi-find-insert-pt.mir
    M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-lazy-sve-nzcv-live.mir

  Log Message:
  -----------
  [AArch64][SME] Fixup ABI routine insertion points to avoid clobbering NZCV (#161353)

This updates the `MachineSMEABIPass` to find insertion points for state
changes (i.e., calls to ABI routines), where the NZCV register (status
flags) are not live.

It works by stepping backwards from where the state change is needed
until we find an instruction where NZCV is not live, a previous state
change, or a call sequence. We conservatively don't move into/over
calls, as they may require a different state before the start of the
call sequence.



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