[llvm-branch-commits] [llvm] [AArch64][SME] Support agnostic ZA functions in the MachineSMEABIPass (PR #149064)

Benjamin Maxwell via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Sep 3 06:31:44 PDT 2025


================
@@ -250,6 +286,9 @@ struct MachineSMEABI : public MachineFunctionPass {
     SmallVector<ZAState> BundleStates;
     std::optional<TPIDR2State> TPIDR2Block;
     std::optional<MachineBasicBlock::iterator> AfterSMEProloguePt;
+    Register AgnosticZABufferPtr = AArch64::NoRegister;
+    LiveRegs PhysLiveRegsAfterSMEPrologue = LiveRegs::None;
+    bool HasFullZASaveRestore = false;
----------------
MacDue wrote:

Added a little comment above `emitFullZASaveRestore`. It's full in the sense it uses `__arm_sme_save` or `__arm_sme_restore`, which handles saving both ZA and ZT0. 

https://github.com/llvm/llvm-project/pull/149064


More information about the llvm-branch-commits mailing list