LLVM API Documentation
#include <SparcRegisterInfo.h>
Public Member Functions | |
SparcRegisterInfo (SparcSubtarget &st) | |
const MCPhysReg * | getCalleeSavedRegs (const MachineFunction *MF=nullptr) const override |
Code Generation virtual methods... | |
const uint32_t * | getCallPreservedMask (CallingConv::ID CC) const override |
const uint32_t * | getRTCallPreservedMask (CallingConv::ID CC) const |
BitVector | getReservedRegs (const MachineFunction &MF) const override |
const TargetRegisterClass * | getPointerRegClass (const MachineFunction &MF, unsigned Kind) const override |
void | eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override |
void | processFunctionBeforeFrameFinalized (MachineFunction &MF, RegScavenger *RS=nullptr) const |
unsigned | getFrameRegister (const MachineFunction &MF) const override |
Public Attributes | |
SparcSubtarget & | Subtarget |
Definition at line 28 of file SparcRegisterInfo.h.
Definition at line 37 of file SparcRegisterInfo.cpp.
void SparcRegisterInfo::eliminateFrameIndex | ( | MachineBasicBlock::iterator | II, |
int | SPAdj, | ||
unsigned | FIOperandNum, | ||
RegScavenger * | RS = nullptr |
||
) | const [override] |
Definition at line 152 of file SparcRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::ISD::FrameIndex, FramePtr, llvm::MCInstrInfo::get(), llvm::SparcSubtarget::getAdjustedFrameSize(), llvm::MachineInstr::getDebugLoc(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineFunction::getInfo(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::SparcSubtarget::getStackPointerBias(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getSubtarget(), llvm::SparcSubtarget::hasHardQuad(), llvm::SparcMachineFunctionInfo::isLeafProc(), llvm::SparcSubtarget::isV9(), llvm::AArch64CC::MI, replaceFI(), llvm::MachineInstr::setDesc(), llvm::MachineOperand::setReg(), Subtarget, and TII.
const MCPhysReg * SparcRegisterInfo::getCalleeSavedRegs | ( | const MachineFunction * | MF = nullptr | ) | const [override] |
Code Generation virtual methods...
Definition at line 42 of file SparcRegisterInfo.cpp.
const uint32_t * SparcRegisterInfo::getCallPreservedMask | ( | CallingConv::ID | CC | ) | const [override] |
Definition at line 47 of file SparcRegisterInfo.cpp.
Referenced by llvm::SparcTargetLowering::LowerCall_32(), and llvm::SparcTargetLowering::LowerCall_64().
unsigned SparcRegisterInfo::getFrameRegister | ( | const MachineFunction & | MF | ) | const [override] |
Definition at line 208 of file SparcRegisterInfo.cpp.
const TargetRegisterClass * SparcRegisterInfo::getPointerRegClass | ( | const MachineFunction & | MF, |
unsigned | Kind | ||
) | const [override] |
Definition at line 90 of file SparcRegisterInfo.cpp.
References llvm::SparcSubtarget::is64Bit(), and Subtarget.
BitVector SparcRegisterInfo::getReservedRegs | ( | const MachineFunction & | MF | ) | const [override] |
Definition at line 56 of file SparcRegisterInfo.cpp.
References llvm::SparcSubtarget::is64Bit(), llvm::SparcSubtarget::isV9(), llvm::MCRegAliasIterator::isValid(), ReserveAppRegisters, llvm::BitVector::set(), and Subtarget.
const uint32_t * SparcRegisterInfo::getRTCallPreservedMask | ( | CallingConv::ID | CC | ) | const |
Definition at line 52 of file SparcRegisterInfo.cpp.
Referenced by llvm::SparcTargetLowering::LowerCall_32(), and llvm::SparcTargetLowering::LowerCall_64().
void llvm::SparcRegisterInfo::processFunctionBeforeFrameFinalized | ( | MachineFunction & | MF, |
RegScavenger * | RS = nullptr |
||
) | const |
Definition at line 29 of file SparcRegisterInfo.h.
Referenced by eliminateFrameIndex(), getPointerRegClass(), and getReservedRegs().