LLVM API Documentation

llvm::AlphaRegisterInfo Struct Reference

#include <AlphaRegisterInfo.h>

Inheritance diagram for llvm::AlphaRegisterInfo:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AlphaRegisterInfo ()
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
MachineInstrfoldMemoryOperand (MachineInstr *MI, unsigned OpNum, int FrameIndex) const
void copyRegToReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, unsigned DestReg, unsigned SrcReg, const TargetRegisterClass *RC) 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 emitPrologue (MachineFunction &MF) const
void emitEpilogue (MachineFunction &MF, MachineBasicBlock &MBB) const
unsigned getRARegister () const
unsigned getFrameRegister (MachineFunction &MF) const

Static Public Member Functions

static std::string getPrettyName (unsigned reg)

Detailed Description

Definition at line 24 of file AlphaRegisterInfo.h.


Constructor & Destructor Documentation

AlphaRegisterInfo::AlphaRegisterInfo (  ) 

Definition at line 60 of file AlphaRegisterInfo.cpp.


Member Function Documentation

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

Code Generation virtual methods...

Definition at line 66 of file AlphaRegisterInfo.cpp.

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

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

Definition at line 83 of file AlphaRegisterInfo.cpp.

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

MachineInstr * AlphaRegisterInfo::foldMemoryOperand ( MachineInstr MI,
unsigned  OpNum,
int  FrameIndex 
) const

Definition at line 98 of file AlphaRegisterInfo.cpp.

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

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

Definition at line 131 of file AlphaRegisterInfo.cpp.

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

const unsigned * AlphaRegisterInfo::getCalleeSaveRegs (  )  const

Definition at line 148 of file AlphaRegisterInfo.cpp.

const TargetRegisterClass *const * AlphaRegisterInfo::getCalleeSaveRegClasses (  )  const

Definition at line 162 of file AlphaRegisterInfo.cpp.

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

Definition at line 189 of file AlphaRegisterInfo.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(), llvm::MachineBasicBlock::insert(), MBB, and MF.

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

Definition at line 231 of file AlphaRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), DEBUG, FrameIndex, llvm::MachineOperand::getFrameIndex(), llvm::MachineFunction::getFrameInfo(), getLower16(), llvm::MachineInstr::getNumOperands(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineFrameInfo::getStackSize(), getUpper16(), hasFP(), IMM_HIGH, IMM_LOW, llvm::MachineBasicBlock::insert(), llvm::MachineOperand::isFrameIndex(), MBB, MF, MI, and Offset.

void AlphaRegisterInfo::emitPrologue ( MachineFunction MF  )  const

Definition at line 275 of file AlphaRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), Align, llvm::MachineBasicBlock::begin(), llvm::BuildMI(), DEBUG, llvm::MachineFunction::front(), llvm::TargetMachine::getFrameInfo(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), getLower16(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getTarget(), getUpper16(), llvm::MachineFrameInfo::hasCalls(), hasFP(), IMM_LOW, MBB, MF, NumBytes, and llvm::MachineFrameInfo::setStackSize().

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

Definition at line 345 of file AlphaRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachineFunction::getFrameInfo(), getLower16(), llvm::MachineFrameInfo::getStackSize(), getUpper16(), hasFP(), IMM_HIGH, MBB, MF, NumBytes, and llvm::prior().

unsigned AlphaRegisterInfo::getRARegister (  )  const

Definition at line 384 of file AlphaRegisterInfo.cpp.

unsigned AlphaRegisterInfo::getFrameRegister ( MachineFunction MF  )  const

Definition at line 389 of file AlphaRegisterInfo.cpp.

References hasFP(), and MF.

std::string AlphaRegisterInfo::getPrettyName ( unsigned  reg  )  [static]

Definition at line 395 of file AlphaRegisterInfo.cpp.

References Name.


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