LLVM API Documentation
#include <XCoreRegisterInfo.h>
Definition at line 24 of file XCoreRegisterInfo.h.
| XCoreRegisterInfo::XCoreRegisterInfo | ( | const TargetInstrInfo & | tii | ) |
Definition at line 36 of file XCoreRegisterInfo.cpp.
| const unsigned * XCoreRegisterInfo::getCalleeSavedRegs | ( | const MachineFunction * | MF = 0 |
) | const |
| const TargetRegisterClass *const * XCoreRegisterInfo::getCalleeSavedRegClasses | ( | const MachineFunction * | MF = 0 |
) | const |
Definition at line 88 of file XCoreRegisterInfo.cpp.
| BitVector XCoreRegisterInfo::getReservedRegs | ( | const MachineFunction & | MF | ) | const |
Definition at line 99 of file XCoreRegisterInfo.cpp.
References CP, hasFP(), and llvm::BitVector::set().
| bool XCoreRegisterInfo::requiresRegisterScavenging | ( | const MachineFunction & | MF | ) | const |
Definition at line 112 of file XCoreRegisterInfo.cpp.
References hasFP().
Referenced by processFunctionBeforeCalleeSavedScan().
| bool XCoreRegisterInfo::hasFP | ( | const MachineFunction & | MF | ) | const |
Definition at line 117 of file XCoreRegisterInfo.cpp.
References llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::hasVarSizedObjects(), and llvm::NoFramePointerElim.
Referenced by eliminateFrameIndex(), emitEpilogue(), emitPrologue(), getFrameRegister(), getReservedRegs(), processFunctionBeforeCalleeSavedScan(), and requiresRegisterScavenging().
| void XCoreRegisterInfo::eliminateCallFramePseudoInstr | ( | MachineFunction & | MF, | |
| MachineBasicBlock & | MBB, | |||
| MachineBasicBlock::iterator | I | |||
| ) | const |
Definition at line 124 of file XCoreRegisterInfo.cpp.
References Align, llvm::BuildMI(), llvm::cerr(), llvm::MachineBasicBlock::erase(), llvm::TargetInstrInfo::get(), llvm::TargetMachine::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFunction::getTarget(), llvm::MachineBasicBlock::insert(), isImmU16(), and isImmU6().
| void XCoreRegisterInfo::eliminateFrameIndex | ( | MachineBasicBlock::iterator | II, | |
| int | SPAdj, | |||
| RegScavenger * | RS = NULL | |||
| ) | const |
Definition at line 170 of file XCoreRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::cerr(), llvm::MachineOperand::ChangeToImmediate(), DOUT, llvm::MachineBasicBlock::erase(), FrameIndex, llvm::TargetInstrInfo::get(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::Value::getName(), llvm::MachineInstr::getNumOperands(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFrameInfo::getStackSize(), hasFP(), llvm::MachineOperand::isFI(), isImmU16(), isImmU6(), isImmUs(), llvm::MachineOperand::isKill(), MBB, MF, MI, Offset, llvm::MachineInstr::print(), Reg, and llvm::RegScavenger::scavengeRegister().
| void XCoreRegisterInfo::processFunctionBeforeCalleeSavedScan | ( | MachineFunction & | MF, | |
| RegScavenger * | RS = NULL | |||
| ) | const |
Definition at line 312 of file XCoreRegisterInfo.cpp.
References llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFrameInfo::CreateStackObject(), FrameIdx, llvm::TargetRegisterClass::getAlignment(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getRegInfo(), llvm::TargetRegisterClass::getSize(), hasFP(), llvm::MachineRegisterInfo::isPhysRegUsed(), llvm::Function::isVarArg(), MFI, requiresRegisterScavenging(), llvm::XCoreFunctionInfo::setFPSpillSlot(), llvm::XCoreFunctionInfo::setLRSpillSlot(), llvm::MachineRegisterInfo::setPhysRegUnused(), llvm::RegScavenger::setScavengingFrameIndex(), and llvm::XCoreFunctionInfo::setUsesLR().
| void XCoreRegisterInfo::processFunctionBeforeFrameFinalized | ( | MachineFunction & | MF | ) | const |
Definition at line 346 of file XCoreRegisterInfo.cpp.
| void XCoreRegisterInfo::emitPrologue | ( | MachineFunction & | MF | ) | const |
Definition at line 394 of file XCoreRegisterInfo.cpp.
References llvm::MachineBasicBlock::addLiveIn(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::cerr(), llvm::ISD::DBG_LABEL, E, llvm::MachineFunction::front(), llvm::TargetInstrInfo::get(), llvm::XCoreFunctionInfo::getFPSpillSlot(), llvm::CalleeSavedInfo::getFrameIdx(), llvm::MachineFunction::getFrameInfo(), llvm::MachineModuleInfo::getFrameMoves(), llvm::MachineFunction::getInfo(), llvm::XCoreFunctionInfo::getLRSpillSlot(), llvm::MachineFrameInfo::getMachineModuleInfo(), llvm::MachineFrameInfo::getObjectOffset(), llvm::CalleeSavedInfo::getReg(), llvm::XCoreFunctionInfo::getSpillLabels(), llvm::MachineFrameInfo::getStackSize(), llvm::XCoreFunctionInfo::getUsesLR(), hasFP(), isImmU16(), isImmU6(), MBBI, MFI, MMI, needsFrameMoves(), llvm::MachineModuleInfo::NextLabelID(), Reg, and llvm::MachineLocation::VirtualFP.
| void XCoreRegisterInfo::emitEpilogue | ( | MachineFunction & | MF, | |
| MachineBasicBlock & | MBB | |||
| ) | const |
Definition at line 512 of file XCoreRegisterInfo.cpp.
References llvm::BuildMI(), llvm::cerr(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::erase(), llvm::TargetInstrInfo::get(), llvm::XCoreFunctionInfo::getFPSpillSlot(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getInfo(), llvm::XCoreFunctionInfo::getLRSpillSlot(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getStackSize(), llvm::XCoreFunctionInfo::getUsesLR(), hasFP(), isImmU16(), isImmU6(), MBBI, MFI, and llvm::prior().
| unsigned XCoreRegisterInfo::getRARegister | ( | ) | const |
Definition at line 581 of file XCoreRegisterInfo.cpp.
| unsigned XCoreRegisterInfo::getFrameRegister | ( | MachineFunction & | MF | ) | const |
| void XCoreRegisterInfo::getInitialFrameState | ( | std::vector< MachineMove > & | Moves | ) | const |
Definition at line 585 of file XCoreRegisterInfo.cpp.
References Src, and llvm::MachineLocation::VirtualFP.
| const unsigned * XCoreRegisterInfo::getArgRegs | ( | const MachineFunction * | MF = 0 |
) | [static] |
Return the array of argument passing registers.
Definition at line 58 of file XCoreRegisterInfo.cpp.
| unsigned XCoreRegisterInfo::getNumArgRegs | ( | const MachineFunction * | MF = 0 |
) | [static] |
Return the size of the argument passing register array.
Definition at line 63 of file XCoreRegisterInfo.cpp.
References llvm::array_lengthof().
| bool XCoreRegisterInfo::needsFrameMoves | ( | const MachineFunction & | MF | ) | [static] |
Return whether to emit frame moves.
Definition at line 68 of file XCoreRegisterInfo.cpp.
References llvm::Function::doesNotThrow(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFrameInfo::getMachineModuleInfo(), llvm::MachineModuleInfo::hasDebugInfo(), MFI, MMI, and llvm::UnwindTablesMandatory.
Referenced by emitPrologue(), and llvm::XCoreInstrInfo::spillCalleeSavedRegisters().
| int XCoreRegisterInfo::getDwarfRegNum | ( | unsigned | RegNum, | |
| bool | isEH | |||
| ) | const |