Changeset View
Changeset View
Standalone View
Standalone View
llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
Show First 20 Lines • Show All 90 Lines • ▼ Show 20 Lines | LoongArchRegisterInfo::getReservedRegs(const MachineFunction &MF) const { | ||||
// variable-sized objects at runtime. | // variable-sized objects at runtime. | ||||
if (TFI->hasBP(MF)) | if (TFI->hasBP(MF)) | ||||
markSuperRegs(Reserved, LoongArchABI::getBPReg()); // bp | markSuperRegs(Reserved, LoongArchABI::getBPReg()); // bp | ||||
assert(checkAllSuperRegsMarked(Reserved)); | assert(checkAllSuperRegsMarked(Reserved)); | ||||
return Reserved; | return Reserved; | ||||
} | } | ||||
bool LoongArchRegisterInfo::isConstantPhysReg(MCRegister PhysReg) const { | |||||
return PhysReg == LoongArch::R0; | |||||
} | |||||
Register | Register | ||||
LoongArchRegisterInfo::getFrameRegister(const MachineFunction &MF) const { | LoongArchRegisterInfo::getFrameRegister(const MachineFunction &MF) const { | ||||
const TargetFrameLowering *TFI = getFrameLowering(MF); | const TargetFrameLowering *TFI = getFrameLowering(MF); | ||||
return TFI->hasFP(MF) ? LoongArch::R22 : LoongArch::R3; | return TFI->hasFP(MF) ? LoongArch::R22 : LoongArch::R3; | ||||
} | } | ||||
void LoongArchRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II, | void LoongArchRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II, | ||||
int SPAdj, | int SPAdj, | ||||
Show All 27 Lines |