@@ -71,6 +71,7 @@ bool AArch64RegisterInfo::regNeedsCFI(MCRegister Reg,
7171const MCPhysReg *
7272AArch64RegisterInfo::getCalleeSavedRegs (const MachineFunction *MF) const {
7373 assert (MF && " Invalid MachineFunction pointer." );
74+ auto &AFI = *MF->getInfo <AArch64FunctionInfo>();
7475
7576 if (MF->getFunction ().getCallingConv () == CallingConv::GHC)
7677 // GHC set of callee saved regs is empty as all those regs are
@@ -101,10 +102,7 @@ AArch64RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
101102 return CSR_Win_AArch64_AAPCS_SwiftTail_SaveList;
102103 if (MF->getFunction ().getCallingConv () == CallingConv::AArch64_VectorCall)
103104 return CSR_Win_AArch64_AAVPCS_SaveList;
104- if (MF->getFunction ().getCallingConv () ==
105- CallingConv::AArch64_SVE_VectorCall)
106- return CSR_Win_AArch64_SVE_AAPCS_SaveList;
107- if (MF->getInfo <AArch64FunctionInfo>()->isSVECC ())
105+ if (AFI.hasSVE_AAPCS (*MF))
108106 return CSR_Win_AArch64_SVE_AAPCS_SaveList;
109107 return CSR_Win_AArch64_AAPCS_SaveList;
110108 }
@@ -148,7 +146,7 @@ AArch64RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {
148146 // This is for OSes other than Windows; Windows is a separate case further
149147 // above.
150148 return CSR_AArch64_AAPCS_X18_SaveList;
151- if (MF-> getInfo <AArch64FunctionInfo>()-> isSVECC ( ))
149+ if (AFI. hasSVE_AAPCS (*MF ))
152150 return CSR_AArch64_SVE_AAPCS_SaveList;
153151 return CSR_AArch64_AAPCS_SaveList;
154152}
@@ -158,6 +156,7 @@ AArch64RegisterInfo::getDarwinCalleeSavedRegs(const MachineFunction *MF) const {
158156 assert (MF && " Invalid MachineFunction pointer." );
159157 assert (MF->getSubtarget <AArch64Subtarget>().isTargetDarwin () &&
160158 " Invalid subtarget for getDarwinCalleeSavedRegs" );
159+ auto &AFI = *MF->getInfo <AArch64FunctionInfo>();
161160
162161 if (MF->getFunction ().getCallingConv () == CallingConv::CFGuard_Check)
163162 report_fatal_error (
@@ -205,7 +204,7 @@ AArch64RegisterInfo::getDarwinCalleeSavedRegs(const MachineFunction *MF) const {
205204 return CSR_Darwin_AArch64_RT_AllRegs_SaveList;
206205 if (MF->getFunction ().getCallingConv () == CallingConv::Win64)
207206 return CSR_Darwin_AArch64_AAPCS_Win64_SaveList;
208- if (MF-> getInfo <AArch64FunctionInfo>()-> isSVECC ( ))
207+ if (AFI. hasSVE_AAPCS (*MF ))
209208 return CSR_Darwin_AArch64_SVE_AAPCS_SaveList;
210209 return CSR_Darwin_AArch64_AAPCS_SaveList;
211210}
0 commit comments