[llvm] [AArch64][SME] Disable hazard padding when there is only PPRs and GPRs (PR #137817)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Wed May 14 02:22:52 PDT 2025
================
@@ -3533,6 +3533,12 @@ static std::optional<int> getLdStFrameID(const MachineInstr &MI,
return getMMOFrameID(*MI.memoperands_begin(), MFI);
}
+/// Returns true if PPRs are spilled as ZPRs.
+static bool arePPRsSpilledAsZPR(const MachineFunction &MF) {
+ return MF.getSubtarget().getRegisterInfo()->getSpillSize(
+ AArch64::PPRRegClass) == 16;
----------------
MacDue wrote:
The usual case (via e.g. `str p4, [sp, ...]`). They're only spilled using Z registers when using the `aarch64-enable-zpr-predicate-spills` option (which expands the predicates to full vectors before storing them).
https://github.com/llvm/llvm-project/pull/137817
More information about the llvm-commits
mailing list