@@ -107,8 +107,10 @@ static bool isZAorZT0RegOp(const TargetRegisterInfo &TRI,
107107 });
108108}
109109
110+ // / Returns the required ZA state needed before \p MI and an iterator pointing
111+ // / to where any code required to change the ZA state should be inserted.
110112static std::pair<ZAState, MachineBasicBlock::iterator>
111- getInstNeededZAState (const TargetRegisterInfo &TRI, MachineInstr &MI,
113+ getZAStateBeforeInst (const TargetRegisterInfo &TRI, MachineInstr &MI,
112114 bool ZALiveAtReturn) {
113115 MachineBasicBlock::iterator InsertPt (MI);
114116
@@ -254,7 +256,7 @@ void MachineSMEABI::collectNeededZAStates(SMEAttrs SMEFnAttrs) {
254256 MachineBasicBlock::iterator MBBI (MI);
255257 LiveUnits.stepBackward (MI);
256258 LiveRegs PhysLiveRegs = GetPhysLiveRegs ();
257- auto [NeededState, InsertPt] = getInstNeededZAState (
259+ auto [NeededState, InsertPt] = getZAStateBeforeInst (
258260 *TRI, MI, /* ZALiveAtReturn=*/ SMEFnAttrs.hasSharedZAInterface ());
259261 assert ((InsertPt == MBBI ||
260262 InsertPt->getOpcode () == AArch64::ADJCALLSTACKDOWN) &&
@@ -545,14 +547,14 @@ void MachineSMEABI::emitNewZAPrologue(MachineBasicBlock &MBB,
545547 .addReg (TPIDR2EL0, RegState::Define)
546548 .addImm (AArch64SysReg::TPIDR2_EL0);
547549 // If TPIDR2_EL0 is non-zero, commit the lazy save.
548- auto CommitZA =
549- BuildMI (MBB, MBBI, DL, TII->get (AArch64::CommitZAPseudo ))
550+ auto CommitZASave =
551+ BuildMI (MBB, MBBI, DL, TII->get (AArch64::CommitZASavePseudo ))
550552 .addReg (TPIDR2EL0)
551553 .addExternalSymbol (TLI->getLibcallName (RTLIB::SMEABI_TPIDR2_SAVE))
552554 .addRegMask (TRI->SMEABISupportRoutinesCallPreservedMaskFromX0 ());
553555 // NOTE: Functions that only use ZT0 don't need to zero ZA.
554556 if (MF->getInfo <AArch64FunctionInfo>()->getSMEFnAttrs ().hasZAState ())
555- CommitZA .addDef (AArch64::ZAB0, RegState::ImplicitDefine);
557+ CommitZASave .addDef (AArch64::ZAB0, RegState::ImplicitDefine);
556558 // Enable ZA (as ZA could have previously been in the OFF state).
557559 BuildMI (MBB, MBBI, DL, TII->get (AArch64::MSRpstatesvcrImm1))
558560 .addImm (AArch64SVCR::SVCRZA)
0 commit comments