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

Benjamin Maxwell via All-commits all-commits at lists.llvm.org
Fri Sep 12 04:18:03 PDT 2025


  Branch: refs/heads/users/MacDue/sme-prop
  Home:   https://github.com/llvm/llvm-project
  Commit: 1a80766cfe163175e5d277378e12c86f6c15ec23
      https://github.com/llvm/llvm-project/commit/1a80766cfe163175e5d277378e12c86f6c15ec23
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-09-12 (Fri, 12 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: 6266ecb5654406372060ac858421fce8bd1f91e0
      https://github.com/llvm/llvm-project/commit/6266ecb5654406372060ac858421fce8bd1f91e0
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2025-09-12 (Fri, 12 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/ce36365b0c20...6266ecb56544

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