LLVM API Documentation
#include <X86RegisterInfo.h>
Inheritance diagram for llvm::X86RegisterInfo:
Definition at line 25 of file X86RegisterInfo.h.
X86RegisterInfo::X86RegisterInfo | ( | ) |
Definition at line 49 of file X86RegisterInfo.cpp.
void X86RegisterInfo::storeRegToStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | SrcReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const |
Code Generation virtual methods...
Definition at line 52 of file X86RegisterInfo.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), MBB, and RC.
void X86RegisterInfo::loadRegFromStackSlot | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | DestReg, | |||
int | FrameIndex, | |||
const TargetRegisterClass * | RC | |||
) | const |
Definition at line 82 of file X86RegisterInfo.cpp.
References llvm::addFrameReference(), llvm::BuildMI(), MBB, and RC.
void X86RegisterInfo::copyRegToReg | ( | MachineBasicBlock & | MBB, | |
MachineBasicBlock::iterator | MI, | |||
unsigned | DestReg, | |||
unsigned | SrcReg, | |||
const TargetRegisterClass * | RC | |||
) | const |
Definition at line 112 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), MBB, and RC.
MachineInstr * X86RegisterInfo::foldMemoryOperand | ( | MachineInstr * | MI, | |
unsigned | OpNum, | |||
int | FrameIndex | |||
) | const |
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.
Definition at line 260 of file X86RegisterInfo.cpp.
References ARRAY_SIZE, ASSERT_SORTED, llvm::MachineInstr::getOpcode(), MakeM0Inst(), MakeMIInst(), MakeMInst(), MakeMRIInst(), MakeMRInst(), MakeRMIInst(), MakeRMInst(), MI, NoFusing, OpcodeTable, PrintFailedFusing, and TableLookup().
const unsigned * X86RegisterInfo::getCalleeSaveRegs | ( | ) | const |
const TargetRegisterClass *const * X86RegisterInfo::getCalleeSaveRegClasses | ( | ) | const |
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.
Definition at line 724 of file X86RegisterInfo.cpp.
void X86RegisterInfo::eliminateCallFramePseudoInstr | ( | MachineFunction & | MF, | |
MachineBasicBlock & | MBB, | |||
MachineBasicBlock::iterator | MI | |||
) | const |
Definition at line 747 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), 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 797 of file X86RegisterInfo.cpp.
References llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), N86::EBP, N86::ESP, FrameIndex, llvm::MachineOperand::getFrameIndex(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), hasFP(), llvm::MachineOperand::isFrameIndex(), MF, MI, and Offset.
void X86RegisterInfo::processFunctionBeforeFrameFinalized | ( | MachineFunction & | MF | ) | const |
Definition at line 825 of file X86RegisterInfo.cpp.
References llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getObjectIndexBegin(), hasFP(), and MF.
void X86RegisterInfo::emitPrologue | ( | MachineFunction & | MF | ) | const |
Definition at line 834 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addExternalSymbol(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::addRegOffset(), Align, llvm::MachineBasicBlock::begin(), llvm::BuildMI(), N86::EAX, N86::EBP, N86::ESP, llvm::MachineFunction::front(), llvm::TargetMachine::getFrameInfo(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::Value::getName(), llvm::MachineFrameInfo::getObjectIndexBegin(), llvm::MachineFrameInfo::getObjectOffset(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFrameInfo::getStackSize(), llvm::TargetMachine::getSubtarget(), llvm::MachineFunction::getTarget(), llvm::MachineFrameInfo::hasCalls(), llvm::GlobalValue::hasExternalLinkage(), hasFP(), llvm::MachineFrameInfo::hasVarSizedObjects(), llvm::MachineBasicBlock::insert(), llvm::X86Subtarget::isCygwin, MBB, MF, MI, NumBytes, llvm::MachineFrameInfo::setStackSize(), Subtarget, and llvm::MachineOperand::UseAndDef.
void X86RegisterInfo::emitEpilogue | ( | MachineFunction & | MF, | |
MachineBasicBlock & | MBB | |||
) | const |
Definition at line 911 of file X86RegisterInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), 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.
unsigned X86RegisterInfo::getRARegister | ( | ) | const |
Definition at line 974 of file X86RegisterInfo.cpp.
unsigned X86RegisterInfo::getFrameRegister | ( | MachineFunction & | MF | ) | const |