[llvm] [AArch64][SME] Refactor MachineSMEABI pass state (NFCI) (PR #156674)
Gaëtan Bossu via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 11 05:17:30 PDT 2025
================
@@ -807,32 +838,33 @@ bool MachineSMEABI::runOnMachineFunction(MachineFunction &MF) {
assert(MF.getRegInfo().isSSA() && "Expected to be run on SSA form!");
- // Reset pass state.
- State = PassState{};
this->MF = &MF;
- Bundles = &getAnalysis<EdgeBundlesWrapperLegacy>().getEdgeBundles();
Subtarget = &MF.getSubtarget<AArch64Subtarget>();
TII = Subtarget->getInstrInfo();
TRI = Subtarget->getRegisterInfo();
MRI = &MF.getRegInfo();
- collectNeededZAStates(SMEFnAttrs);
- assignBundleZAStates();
- insertStateChanges();
+ EdgeBundles const &Bundles =
+ getAnalysis<EdgeBundlesWrapperLegacy>().getEdgeBundles();
+
+ FunctionInfo FnInfo = collectNeededZAStates(SMEFnAttrs);
+ SmallVector<ZAState> BundleStates = assignBundleZAStates(Bundles, FnInfo);
+
+ EmitContext Context;
+ insertStateChanges(Context, FnInfo, Bundles, BundleStates);
----------------
gbossu wrote:
`runOnMachineFunction` is now much easier to understand in terms of dataflow, Thanks 🤩
https://github.com/llvm/llvm-project/pull/156674
More information about the llvm-commits
mailing list