LLVM API Documentation
#include <PPCRegisterInfo.h>
Inheritance diagram for llvm::PPCRegisterInfo:
Definition at line 25 of file PPCRegisterInfo.h.
PPCRegisterInfo::PPCRegisterInfo | ( | const PPCSubtarget & | SubTarget | ) |
Definition at line 83 of file PPCRegisterInfo.cpp.
unsigned PPCRegisterInfo::getRegisterNumbering | ( | unsigned | RegEnum | ) | [static] |
getRegisterNumbering - Given the enum value for some register, e.g. PPC::F14, return the number that it corresponds to (e.g. 14).
Definition at line 42 of file PPCRegisterInfo.cpp.
Referenced by HandleVRSaveUpdate(), loadRegFromStackSlot(), and storeRegToStackSlot().
void PPCRegisterInfo::storeRegToStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MBBI, | |||
unsigned | SrcReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const |
Code Generation virtual methods...
Definition at line 97 of file PPCRegisterInfo.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), getRegisterNumbering(), MBB, llvm::PPCISD::MFCR, and RC.
void PPCRegisterInfo::loadRegFromStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MBBI, | |||
unsigned | DestReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const |
Definition at line 147 of file PPCRegisterInfo.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), getRegisterNumbering(), MBB, and RC.
void PPCRegisterInfo::copyRegToReg | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MBBI, | |||
unsigned | DestReg, | |||
unsigned | SrcReg, | |||
const TargetRegisterClass * | RC | |||
) | const |
Definition at line 190 of file PPCRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), MBB, OR, RC, and llvm::ISD::VOR.
MachineInstr * PPCRegisterInfo::foldMemoryOperand | ( | MachineInstr * | MI, | |
unsigned | OpNum, | |||
int | FrameIndex | |||
) | const [virtual] |
foldMemoryOperand - PowerPC (like most RISC's) can only fold spills into copy instructions, turning them into load/store instructions.
Definition at line 314 of file PPCRegisterInfo.cpp.
References llvm::addFrameReference(), llvm::BuildMI(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), MI, and OR.
const unsigned * PPCRegisterInfo::getCalleeSaveRegs | ( | ) | const |
const TargetRegisterClass *const * PPCRegisterInfo::getCalleeSaveRegClasses | ( | ) | const |
void PPCRegisterInfo::eliminateCallFramePseudoInstr | ( | MachineFunction & | MF, | |
MachineBasicBlock & | MBB, | |||
MachineBasicBlock::iterator | I | |||
) | const |
Definition at line 382 of file PPCRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), Align, llvm::BuildMI(), llvm::MachineBasicBlock::erase(), llvm::TargetMachine::getFrameInfo(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFunction::getTarget(), hasFP(), MBB, and MF.
void PPCRegisterInfo::eliminateFrameIndex | ( | MachineBasicBlock::iterator | II | ) | const |
Definition at line 410 of file PPCRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), FrameIndex, llvm::MachineOperand::getFrameIndex(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineOperand::getReg(), hasFP(), llvm::MachineOperand::isFrameIndex(), MBB, MF, MI, Offset, second, llvm::MachineInstr::setOpcode(), and llvm::PPCISD::STD_32.
void PPCRegisterInfo::emitPrologue | ( | MachineFunction & | MF | ) | const |
Definition at line 587 of file PPCRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), Align, llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachineFunction::front(), llvm::TargetMachine::getFrameInfo(), llvm::MachineFunction::getFrameInfo(), llvm::MachineDebugInfo::getFrameMoves(), llvm::MachineFrameInfo::getMachineDebugInfo(), llvm::MachineFrameInfo::getMaxAlignment(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getTarget(), llvm::MachineFunction::getUsedPhysregs(), HandleVRSaveUpdate(), llvm::MachineFrameInfo::hasCalls(), hasFP(), llvm::MachineDebugInfo::hasInfo(), llvm::isInt16(), llvm::isPowerOf2_32(), llvm::Log2_32(), MBB, MF, llvm::MachineDebugInfo::NextLabelID(), NumBytes, OR, llvm::MachineFrameInfo::setStackSize(), Src, and llvm::MachineLocation::VirtualFP.
void PPCRegisterInfo::emitEpilogue | ( | MachineFunction & | MF, | |
MachineBasicBlock & | MBB | |||
) | const |
Definition at line 687 of file PPCRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::TargetMachine::getFrameInfo(), llvm::MachineFunction::getFrameInfo(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFunction::getTarget(), hasFP(), MBB, MF, NumBytes, and llvm::prior().
unsigned PPCRegisterInfo::getRARegister | ( | ) | const |
Definition at line 720 of file PPCRegisterInfo.cpp.
unsigned PPCRegisterInfo::getFrameRegister | ( | MachineFunction & | MF | ) | const |
void PPCRegisterInfo::getInitialFrameState | ( | std::vector< MachineMove * > & | Moves | ) | const |
Definition at line 728 of file PPCRegisterInfo.cpp.
References Src, and llvm::MachineLocation::VirtualFP.