LLVM API Documentation
#include <X86RegisterInfo.h>
Inheritance diagram for llvm::X86RegisterInfo:
Definition at line 25 of file X86RegisterInfo.h.
X86RegisterInfo::X86RegisterInfo | ( | ) |
Definition at line 45 of file X86RegisterInfo.cpp.
void X86RegisterInfo::copyRegToReg | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | DestReg, | |||
unsigned | SrcReg, | |||
const TargetRegisterClass * | RC | |||
) | const |
Definition at line 100 of file X86RegisterInfo.cpp.
References abort(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), MBB, and RC.
void X86RegisterInfo::eliminateCallFramePseudoInstr | ( | MachineFunction & | MF, | |
MachineBasicBlock & | MBB, | |||
MachineBasicBlock::iterator | MI | |||
) | const |
Definition at line 481 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addZImm(), Align, llvm::BuildMI(), llvm::MachineBasicBlock::erase(), N86::ESP, llvm::TargetMachine::getFrameInfo(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFunction::getTarget(), hasFP(), llvm::MachineBasicBlock::insert(), MBB, MF, and llvm::MachineOperand::UseAndDef.
void X86RegisterInfo::eliminateFrameIndex | ( | MachineBasicBlock::iterator | MI | ) | const |
Definition at line 531 of file X86RegisterInfo.cpp.
References N86::EBP, N86::ESP, llvm::ISD::FrameIndex, llvm::MachineOperand::getFrameIndex(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getNumOperands(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineFrameInfo::getStackSize(), hasFP(), llvm::MachineOperand::isFrameIndex(), MF, MI, llvm::MachineOperand::MO_SignExtendedImmed, Offset, llvm::MachineInstr::SetMachineOperandConst(), and llvm::MachineInstr::SetMachineOperandReg().
void X86RegisterInfo::emitEpilogue | ( | MachineFunction & | MF, | |
MachineBasicBlock & | MBB | |||
) | const |
Definition at line 626 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::MachineInstrBuilder::addZImm(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), N86::EBP, llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::erase(), N86::ESP, llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getStackSize(), hasFP(), MBB, MF, NumBytes, PI, llvm::prior(), RET, and llvm::MachineOperand::UseAndDef.
void X86RegisterInfo::emitPrologue | ( | MachineFunction & | MF | ) | const |
Definition at line 568 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::addRegOffset(), Align, llvm::MachineBasicBlock::begin(), llvm::BuildMI(), N86::EBP, N86::ESP, llvm::MachineFunction::front(), llvm::TargetMachine::getFrameInfo(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectOffset(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getTarget(), llvm::MachineFrameInfo::hasCalls(), hasFP(), llvm::MachineBasicBlock::insert(), MBB, MF, MI, NumBytes, llvm::MachineFrameInfo::setStackSize(), and llvm::MachineOperand::UseAndDef.
MachineInstr * X86RegisterInfo::foldMemoryOperand | ( | MachineInstr * | MI, | |
unsigned | OpNum, | |||
int | FrameIndex | |||
) | const [virtual] |
foldMemoryOperand - If this target supports it, fold a load or store of the specified stack slot into the specified machine instruction for the specified operand. If this is possible, the target should perform the folding and return true, otherwise it should return false. If it folds the instruction, it is likely that the MachineInstruction the iterator references has been changed.
FIXME: This should obviously be autogenerated by tablegen when patterns are available!
Definition at line 178 of file X86RegisterInfo.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getParent(), MakeM0Inst(), MakeMIInst(), MakeMInst(), MakeMRIInst(), MakeMRInst(), MakeRMIInst(), MakeRMInst(), MBB, MI, NoFusing, and PrintFailedFusing.
unsigned X86RegisterInfo::getFrameRegister | ( | MachineFunction & | MF | ) | const |
unsigned X86RegisterInfo::getRARegister | ( | ) | const |
Definition at line 689 of file X86RegisterInfo.cpp.
void X86RegisterInfo::loadRegFromStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | DestReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const |
Definition at line 74 of file X86RegisterInfo.cpp.
References abort(), llvm::addFrameReference(), llvm::BuildMI(), MBB, and RC.
void X86RegisterInfo::processFunctionBeforeFrameFinalized | ( | MachineFunction & | MF | ) | const |
Definition at line 559 of file X86RegisterInfo.cpp.
References llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getObjectIndexBegin(), hasFP(), and MF.
void X86RegisterInfo::storeRegToStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | SrcReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const |
Code Generation virtual methods...
Definition at line 48 of file X86RegisterInfo.cpp.
References abort(), llvm::addFrameReference(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), MBB, and RC.