Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
Show First 20 Lines • Show All 360 Lines • ▼ Show 20 Lines | F.getContext().diagnose(DiagnosticInfoUnsupported{F, ("AArch64 doesn't support" | ||||
" function calls if any of the argument registers is reserved.")}); | " function calls if any of the argument registers is reserved.")}); | ||||
} | } | ||||
bool AArch64RegisterInfo::isAsmClobberable(const MachineFunction &MF, | bool AArch64RegisterInfo::isAsmClobberable(const MachineFunction &MF, | ||||
MCRegister PhysReg) const { | MCRegister PhysReg) const { | ||||
return !isReservedReg(MF, PhysReg); | return !isReservedReg(MF, PhysReg); | ||||
} | } | ||||
bool AArch64RegisterInfo::isConstantPhysReg(MCRegister PhysReg) const { | |||||
return PhysReg == AArch64::WZR || PhysReg == AArch64::XZR; | |||||
} | |||||
const TargetRegisterClass * | const TargetRegisterClass * | ||||
AArch64RegisterInfo::getPointerRegClass(const MachineFunction &MF, | AArch64RegisterInfo::getPointerRegClass(const MachineFunction &MF, | ||||
unsigned Kind) const { | unsigned Kind) const { | ||||
return &AArch64::GPR64spRegClass; | return &AArch64::GPR64spRegClass; | ||||
} | } | ||||
const TargetRegisterClass * | const TargetRegisterClass * | ||||
AArch64RegisterInfo::getCrossCopyRegClass(const TargetRegisterClass *RC) const { | AArch64RegisterInfo::getCrossCopyRegClass(const TargetRegisterClass *RC) const { | ||||
▲ Show 20 Lines • Show All 491 Lines • Show Last 20 Lines |