[AArch64][SME] Propagate desired ZA states in the MachineSMEABIPass (#149510)
This patch adds a step to the MachineSMEABIPass that propagates desired
ZA states.
This aims 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 from the
inner loop to the outer loops (to avoid saves/restores in any loop).