[all-commits] [llvm/llvm-project] 42b551: Pass CodeGenOptLevel to MachineSMEABI pass (part o...

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Tue Sep 9 07:05:09 PDT 2025


  Branch: refs/heads/users/MacDue/sme-prop
  Home:   https://github.com/llvm/llvm-project
  Commit: 42b551ab5816294987aa94103d3f6600202cf52f
      https://github.com/llvm/llvm-project/commit/42b551ab5816294987aa94103d3f6600202cf52f
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

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

  Log Message:
  -----------
  Pass CodeGenOptLevel to MachineSMEABI pass (part of #149065)

Change-Id: Idef5b1e2a45585f97897fc11c4f237996edb7c8b


  Commit: ce36365b0c20e12784f3df701703353a436211a9
      https://github.com/llvm/llvm-project/commit/ce36365b0c20e12784f3df701703353a436211a9
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-09-09 (Tue, 09 Sep 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/MachineSMEABIPass.cpp
    M llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
    M llvm/test/CodeGen/AArch64/sme-za-control-flow.ll
    M llvm/test/CodeGen/AArch64/sme-za-exceptions.ll
    A llvm/test/CodeGen/AArch64/sme-za-function-with-many-blocks.ll
    M llvm/test/CodeGen/AArch64/sme-za-lazy-save-buffer.ll

  Log Message:
  -----------
  [AArch64][SME] Propagate desired ZA states in the MachineSMEABIPass

This patch adds a propagation step to the MachineSMEABIPass that
propagates desired ZA states forwards/backwards (from predecessors to
successors, or vice versa).

The aim of this is to pick better ZA states for edge bundles, as when
many (or all) blocks in a bundle do not have a preferred ZA state, the
ZA state assigned to a bundle can be less than ideal.

An important case is nested loops, where only the inner loop has a
preferred ZA state. Here we'd like to propagate the ZA state up from the
inner loop to the outer loops (to avoid saves/restores in any loop).

Change-Id: I39f9c7d7608e2fa070be2fb88351b4d1d0079041


Compare: https://github.com/llvm/llvm-project/compare/ceae8826a228...ce36365b0c20

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