LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::X86RegisterInfo Struct Reference

#include <X86RegisterInfo.h>

Inheritance diagram for llvm::X86RegisterInfo:

Inheritance graph
[legend]
Collaboration diagram for llvm::X86RegisterInfo:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 X86RegisterInfo ()
const TargetRegisterClassgetRegClassForType (const Type *Ty) const
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned SrcReg, int FrameIndex) const
 Code Generation virtual methods...
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, int FrameIndex) const
void copyRegToReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, unsigned SrcReg, const TargetRegisterClass *RC) const
virtual MachineInstrfoldMemoryOperand (MachineInstr *MI, unsigned OpNum, int FrameIndex) const
void eliminateCallFramePseudoInstr (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator MI) const
void eliminateFrameIndex (MachineBasicBlock::iterator MI) const
void processFunctionBeforeFrameFinalized (MachineFunction &MF) const
void emitPrologue (MachineFunction &MF) const
void emitEpilogue (MachineFunction &MF, MachineBasicBlock &MBB) const

Detailed Description

Definition at line 25 of file X86RegisterInfo.h.


Constructor & Destructor Documentation

X86RegisterInfo::X86RegisterInfo  ) 
 

Definition at line 44 of file X86RegisterInfo.cpp.


Member Function Documentation

void X86RegisterInfo::copyRegToReg MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
unsigned  DestReg,
unsigned  SrcReg,
const TargetRegisterClass RC
const
 

Definition at line 76 of file X86RegisterInfo.cpp.

References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), getIdx(), and llvm::TargetRegisterClass::getSize().

void X86RegisterInfo::eliminateCallFramePseudoInstr MachineFunction MF,
MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI
const
 

Definition at line 339 of file X86RegisterInfo.cpp.

References llvm::MachineInstrBuilder::addZImm(), 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(), and llvm::MachineOperand::UseAndDef.

void X86RegisterInfo::eliminateFrameIndex MachineBasicBlock::iterator  MI  )  const
 

Definition at line 372 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(), llvm::MachineOperand::MO_SignExtendedImmed, llvm::MachineInstr::SetMachineOperandConst(), and llvm::MachineInstr::SetMachineOperandReg().

void X86RegisterInfo::emitEpilogue MachineFunction MF,
MachineBasicBlock MBB
const
 

Definition at line 467 of file X86RegisterInfo.cpp.

References llvm::MachineInstrBuilder::addReg(), llvm::MachineInstrBuilder::addZImm(), llvm::BuildMI(), N86::EBP, llvm::MachineBasicBlock::end(), N86::ESP, llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getObjectIndexEnd(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getStackSize(), hasFP(), llvm::MachineBasicBlock::insert(), NumBytes, llvm::prior(), RET, and llvm::MachineOperand::UseAndDef.

void X86RegisterInfo::emitPrologue MachineFunction MF  )  const
 

Definition at line 409 of file X86RegisterInfo.cpp.

References llvm::MachineInstrBuilder::addReg(), llvm::addRegOffset(), llvm::MachineInstrBuilder::addZImm(), 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(), 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.

Definition at line 130 of file X86RegisterInfo.cpp.

References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getParent(), MakeMIInst(), MakeMInst(), MakeMRIInst(), MakeMRInst(), MakeRMIInst(), MakeRMInst(), NoFusing, and PrintFailedFusing.

const TargetRegisterClass * X86RegisterInfo::getRegClassForType const Type Ty  )  const
 

Definition at line 502 of file X86RegisterInfo.cpp.

References llvm::Type::BoolTyID, llvm::Type::DoubleTyID, llvm::Type::FloatTyID, llvm::Type::getTypeID(), llvm::Type::IntTyID, llvm::Type::LongTyID, llvm::Type::PointerTyID, llvm::Type::SByteTyID, llvm::Type::ShortTyID, llvm::Type::UByteTyID, llvm::Type::UIntTyID, llvm::Type::ULongTyID, and llvm::Type::UShortTyID.

void X86RegisterInfo::loadRegFromStackSlot MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
unsigned  DestReg,
int  FrameIndex
const
 

Definition at line 67 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), llvm::BuildMI(), and getIdx().

void X86RegisterInfo::processFunctionBeforeFrameFinalized MachineFunction MF  )  const
 

Definition at line 400 of file X86RegisterInfo.cpp.

References llvm::MachineFrameInfo::CreateFixedObject(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getObjectIndexBegin(), and hasFP().

void X86RegisterInfo::storeRegToStackSlot MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
unsigned  SrcReg,
int  FrameIndex
const
 

Code Generation virtual methods...

Definition at line 58 of file X86RegisterInfo.cpp.

References llvm::addFrameReference(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), and getIdx().


The documentation for this struct was generated from the following files: