LLVM API Documentation

llvm::SparcRegisterInfo Struct Reference

#include <SparcRegisterInfo.h>

Inheritance diagram for llvm::SparcRegisterInfo:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SparcRegisterInfo (SparcSubtarget &st)
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned SrcReg, int FrameIndex, const TargetRegisterClass *RC) const
 Code Generation virtual methods...
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg, int FrameIndex, const TargetRegisterClass *RC) const
void copyRegToReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg, unsigned SrcReg, const TargetRegisterClass *RC) const
virtual MachineInstrfoldMemoryOperand (MachineInstr *MI, unsigned OpNum, int FrameIndex) const
const unsigned * getCalleeSaveRegs () const
const TargetRegisterClass
*const * 
getCalleeSaveRegClasses () const
void eliminateCallFramePseudoInstr (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const
void eliminateFrameIndex (MachineBasicBlock::iterator II) const
void processFunctionBeforeFrameFinalized (MachineFunction &MF) const
void emitPrologue (MachineFunction &MF) const
void emitEpilogue (MachineFunction &MF, MachineBasicBlock &MBB) const
unsigned getRARegister () const
unsigned getFrameRegister (MachineFunction &MF) const

Public Attributes

SparcSubtargetSubtarget

Detailed Description

Definition at line 25 of file SparcRegisterInfo.h.


Constructor & Destructor Documentation

SparcRegisterInfo::SparcRegisterInfo ( SparcSubtarget st  ) 

Definition at line 26 of file SparcRegisterInfo.cpp.


Member Function Documentation

void SparcRegisterInfo::storeRegToStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MBBI,
unsigned  SrcReg,
int  FrameIndex,
const TargetRegisterClass RC 
) const

Code Generation virtual methods...

Definition at line 32 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), MBB, and RC.

void SparcRegisterInfo::loadRegFromStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MBBI,
unsigned  DestReg,
int  FrameIndex,
const TargetRegisterClass RC 
) const

Definition at line 47 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::BuildMI(), MBB, and RC.

void SparcRegisterInfo::copyRegToReg ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MBBI,
unsigned  DestReg,
unsigned  SrcReg,
const TargetRegisterClass RC 
) const

Definition at line 60 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::SparcSubtarget::isV9(), MBB, RC, and Subtarget.

MachineInstr * SparcRegisterInfo::foldMemoryOperand ( MachineInstr MI,
unsigned  OpNum,
int  FrameIndex 
) const [virtual]

Definition at line 75 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isRegister(), and MI.

const unsigned * SparcRegisterInfo::getCalleeSaveRegs (  )  const

Definition at line 106 of file SparcRegisterInfo.cpp.

const TargetRegisterClass *const * SparcRegisterInfo::getCalleeSaveRegClasses (  )  const

Definition at line 112 of file SparcRegisterInfo.cpp.

void SparcRegisterInfo::eliminateCallFramePseudoInstr ( MachineFunction MF,
MachineBasicBlock MBB,
MachineBasicBlock::iterator  I 
) const

Definition at line 119 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineOperand::getImmedValue(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), MBB, and MI.

void SparcRegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  II  )  const

Definition at line 131 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), 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::MachineOperand::isFrameIndex(), MF, MI, Offset, and U.

void SparcRegisterInfo::processFunctionBeforeFrameFinalized ( MachineFunction MF  )  const

Definition at line 167 of file SparcRegisterInfo.cpp.

void SparcRegisterInfo::emitPrologue ( MachineFunction MF  )  const

Definition at line 169 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::MachineFunction::front(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getStackSize(), MBB, MF, NumBytes, and U.

void SparcRegisterInfo::emitEpilogue ( MachineFunction MF,
MachineBasicBlock MBB 
) const

Definition at line 206 of file SparcRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), MBB, and llvm::prior().

unsigned SparcRegisterInfo::getRARegister (  )  const

Definition at line 214 of file SparcRegisterInfo.cpp.

unsigned SparcRegisterInfo::getFrameRegister ( MachineFunction MF  )  const

Definition at line 219 of file SparcRegisterInfo.cpp.


Member Data Documentation

SparcSubtarget& llvm::SparcRegisterInfo::Subtarget

Definition at line 26 of file SparcRegisterInfo.h.

Referenced by copyRegToReg().


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