OpenASIP
2.0
|
#include <TCERegisterInfo.hh>
Public Member Functions | |
TCERegisterInfo (const TargetInstrInfo &tii) | |
virtual | ~TCERegisterInfo () |
void | eliminateCallFramePseudoInstr (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const |
const MCPhysReg * | getCalleeSavedRegs (const MachineFunction *MF=0) const override |
BitVector | getReservedRegs (const MachineFunction &MF) const override |
void | eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=NULL) const override |
unsigned | getRARegister () const |
Register | getFrameRegister (const MachineFunction &mf) const override |
bool | requiresRegisterScavenging (const MachineFunction &) const override |
int | getDwarfRegNum (unsigned regNum, bool isEH) const |
int | getLLVMRegNum (unsigned int, bool) const |
bool | hasFP (const MachineFunction &MF) const |
void | setTFI (const TCEFrameLowering *tfi) |
Private Member Functions | |
void | setReservedVectorRegs (llvm::BitVector &reserved) const |
Private Attributes | |
const TargetInstrInfo & | tii_ |
const TCEFrameLowering * | tfi_ |
Class which handles registers in the TCE backend.
Definition at line 53 of file TCERegisterInfo.hh.
TCERegisterInfo::TCERegisterInfo | ( | const TargetInstrInfo & | tii | ) |
The Constructor.
st | Subtarget architecture. |
tii | Target architecture instruction info. |
Definition at line 82 of file TCERegisterInfo.cc.
|
inlinevirtual |
Definition at line 56 of file TCERegisterInfo.hh.
void llvm::TCERegisterInfo::eliminateCallFramePseudoInstr | ( | MachineFunction & | MF, |
MachineBasicBlock & | MBB, | ||
MachineBasicBlock::iterator | I | ||
) | const |
|
override |
Definition at line 129 of file TCERegisterInfo.cc.
References ADDIMM, assert, Application::cmdLineOptions(), llvm::TCEFrameLowering::containsCall(), llvm::TCEInstrInfo::getPointerAdjustment(), llvm::TCEFrameLowering::hasFP(), llvm::TCETargetMachine::hasOperation(), INTEGER_REG_CLASS, llvm::TCETargetMachine::opcode(), llvm::TCETargetMachine::operationName(), options, llvm::TCEFrameLowering::stackAlignment(), tfi_, THROW_EXCEPTION, tii_, and llvm::TCETargetMachine::validStackAccessOperation().
|
override |
Returns list of callee saved registers.
Definition at line 92 of file TCERegisterInfo.cc.
References hasFP().
int llvm::TCERegisterInfo::getDwarfRegNum | ( | unsigned | regNum, |
bool | isEH | ||
) | const |
|
override |
Definition at line 404 of file TCERegisterInfo.cc.
References hasFP().
int llvm::TCERegisterInfo::getLLVMRegNum | ( | unsigned int | , |
bool | |||
) | const |
unsigned TCERegisterInfo::getRARegister | ( | ) | const |
Re-issue the specified 'original' instruction at the specific location targeting a new destination register.
mbb | Machine basic block of the new instruction. |
i | Position of the new instruction in the basic block. |
destReg | New destination register. |
orig | Original instruction. |
void TCERegisterInfo::reMaterialize( MachineBasicBlock& mbb, MachineBasicBlock::iterator i, unsigned destReg, const MachineInstr* orig) const { assert(false && "It really was used"); MachineInstr* mi = mbb.getParent()->CloneMachineInstr(orig); mi->getOperand(0).setReg(destReg); mbb.insert(i, mi); } Not implemented: When is this method even called?
Definition at line 398 of file TCERegisterInfo.cc.
|
override |
Returns list of reserved registers.
Definition at line 105 of file TCERegisterInfo.cc.
References assert, Application::cmdLineOptions(), llvm::TCEFrameLowering::containsCall(), hasFP(), options, RA, setReservedVectorRegs(), and tfi_.
bool TCERegisterInfo::hasFP | ( | const MachineFunction & | MF | ) | const |
Definition at line 413 of file TCERegisterInfo.cc.
References llvm::TCEFrameLowering::hasFP(), and tfi_.
Referenced by getCalleeSavedRegs(), getFrameRegister(), and getReservedRegs().
|
override |
Definition at line 418 of file TCERegisterInfo.cc.
|
private |
Referenced by getReservedRegs().
|
inline |
Definition at line 80 of file TCERegisterInfo.hh.
References tfi_.
Referenced by llvm::TCEFrameLowering::TCEFrameLowering().
|
private |
Definition at line 85 of file TCERegisterInfo.hh.
Referenced by eliminateFrameIndex(), getReservedRegs(), hasFP(), and setTFI().
|
private |
Definition at line 84 of file TCERegisterInfo.hh.
Referenced by eliminateFrameIndex().