LLVM API Documentation
#include <SparcV9RegisterInfo.h>
Inheritance diagram for llvm::SparcV9RegisterInfo:
Public Member Functions | |
SparcV9RegisterInfo () | |
const unsigned * | getCalleeSaveRegs () const |
const TargetRegisterClass *const * | getCalleeSaveRegClasses () const |
void | storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned SrcReg, int FrameIndex, const TargetRegisterClass *RC) const |
void | loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, int FrameIndex, const TargetRegisterClass *RC) const |
void | copyRegToReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, unsigned SrcReg, const TargetRegisterClass *RC) const |
void | eliminateFrameIndex (MachineBasicBlock::iterator MI) const |
void | emitPrologue (MachineFunction &MF) const |
void | emitEpilogue (MachineFunction &MF, MachineBasicBlock &MBB) const |
int | getDwarfRegNum (unsigned RegNum) const |
Debug information queries. | |
unsigned | getRARegister () const |
unsigned | getFrameRegister (MachineFunction &MF) const |
Definition at line 23 of file SparcV9RegisterInfo.h.
SparcV9RegisterInfo::SparcV9RegisterInfo | ( | ) |
Definition at line 280 of file SparcV9RegisterInfo.cpp.
void SparcV9RegisterInfo::copyRegToReg | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | DestReg, | |||
unsigned | SrcReg, | |||
const TargetRegisterClass * | RC | |||
) | const [virtual] |
Implements llvm::MRegisterInfo.
Definition at line 299 of file SparcV9RegisterInfo.cpp.
References abort().
void SparcV9RegisterInfo::eliminateFrameIndex | ( | MachineBasicBlock::iterator | MI | ) | const [virtual] |
eliminateFrameIndex - This method must be overriden to eliminate abstract frame indices from instructions which may use them. The instruction referenced by the iterator contains an MO_FrameIndex operand which must be eliminated by this method. This method may modify or replace the specified instruction, as long as it keeps the iterator pointing the the finished product. The return value is the number of instructions added to (negative if removed from) the basic block.
Implements llvm::MRegisterInfo.
Definition at line 306 of file SparcV9RegisterInfo.cpp.
References abort().
void SparcV9RegisterInfo::emitEpilogue | ( | MachineFunction & | MF, | |
MachineBasicBlock & | MBB | |||
) | const [virtual] |
Implements llvm::MRegisterInfo.
Definition at line 315 of file SparcV9RegisterInfo.cpp.
References abort().
void SparcV9RegisterInfo::emitPrologue | ( | MachineFunction & | MF | ) | const [virtual] |
emitProlog/emitEpilog - These methods insert prolog and epilog code into the function. The return value is the number of instructions added to (negative if removed from) the basic block (entry for prologue).
Implements llvm::MRegisterInfo.
Definition at line 311 of file SparcV9RegisterInfo.cpp.
References abort().
const TargetRegisterClass* const* llvm::SparcV9RegisterInfo::getCalleeSaveRegClasses | ( | ) | const [inline, virtual] |
getCalleeSaveRegClasses - Return a null-terminated list of the preferred register classes to spill each callee-saved register with. The order and length of this list match the getCalleeSaveRegs() list.
Implements llvm::MRegisterInfo.
Definition at line 26 of file SparcV9RegisterInfo.h.
const unsigned * llvm::SparcV9RegisterInfo::getCalleeSaveRegs | ( | ) | const [virtual] |
getCalleeSaveRegs - Return a null-terminated list of all of the callee-save registers on this target.
Implements llvm::MRegisterInfo.
Definition at line 254 of file SparcV9RegisterInfo.cpp.
References llvm::SparcV9::g0, llvm::SparcV9::g1, llvm::SparcV9::g2, llvm::SparcV9::g3, llvm::SparcV9::g4, llvm::SparcV9::g5, llvm::SparcV9::g6, llvm::SparcV9::g7, llvm::SparcV9::i0, llvm::SparcV9::i1, llvm::SparcV9::i2, llvm::SparcV9::i3, llvm::SparcV9::i4, llvm::SparcV9::i5, llvm::SparcV9::i6, llvm::SparcV9::i7, llvm::SparcV9::l0, llvm::SparcV9::l1, llvm::SparcV9::l2, llvm::SparcV9::l3, llvm::SparcV9::l4, llvm::SparcV9::l5, llvm::SparcV9::l6, llvm::SparcV9::l7, and llvm::SparcV9::o6.
int SparcV9RegisterInfo::getDwarfRegNum | ( | unsigned | RegNum | ) | const [virtual] |
Debug information queries.
getDwarfRegNum - Map a target register to an equivalent dwarf register number. Returns -1 if there is no equivalent value.
Implements llvm::MRegisterInfo.
Definition at line 320 of file SparcV9RegisterInfo.cpp.
References abort().
unsigned SparcV9RegisterInfo::getFrameRegister | ( | MachineFunction & | MF | ) | const [virtual] |
getFrameRegister - This method should return the register used as a base for values allocated in the current stack frame.
Implements llvm::MRegisterInfo.
Definition at line 330 of file SparcV9RegisterInfo.cpp.
References abort().
unsigned SparcV9RegisterInfo::getRARegister | ( | ) | const [virtual] |
getRARegister - This method should return the register where the return address can be found.
Implements llvm::MRegisterInfo.
Definition at line 325 of file SparcV9RegisterInfo.cpp.
References abort().
void SparcV9RegisterInfo::loadRegFromStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | DestReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const [virtual] |
Implements llvm::MRegisterInfo.
Definition at line 292 of file SparcV9RegisterInfo.cpp.
References abort().
void SparcV9RegisterInfo::storeRegToStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | SrcReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const [virtual] |
Implements llvm::MRegisterInfo.
Definition at line 285 of file SparcV9RegisterInfo.cpp.
References abort().