================
@@ -250,6 +286,9 @@ struct MachineSMEABI : public MachineFunctionPass {
     SmallVector<ZAState> BundleStates;
----------------
gbossu wrote:

We are starting to accumulate a lot of state, which makes the code harder to 
follow as it allows any member function to modify it instead of having clear 
ins/outs.

I know we discussed that already 
[here](https://github.com/llvm/llvm-project/pull/149062#discussion_r2276758787),
 but I feel it would be nice not to delay the refactoring too much. Even having 
a first step that collects all the info in a struct would help. We could then 
pass that info around by const ref to any function that needs it. If some info 
needs to be mutable, then it should not be in the struct, and be a clear in/out 
parameter.

Doing something like this would clearly decouple the "collection" phase from 
the "let me correctly handle the state changes" phase.

https://github.com/llvm/llvm-project/pull/149064
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to