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::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 (const TargetInstrInfo &tii)
const unsigned * getCalleeSavedRegs (const MachineFunction *MF=0) const
 Code Generation virtual methods...
const TargetRegisterClass
*const * 
getCalleeSavedRegClasses (const MachineFunction *MF=0) const
BitVector getReservedRegs (const MachineFunction &MF) const
bool hasFP (const MachineFunction &MF) const
void eliminateCallFramePseudoInstr (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const
void eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, RegScavenger *RS=NULL) const
void emitPrologue (MachineFunction &MF) const
void emitEpilogue (MachineFunction &MF, MachineBasicBlock &MBB) const
unsigned getRARegister () const
unsigned getFrameRegister (MachineFunction &MF) const
unsigned getEHExceptionRegister () const
unsigned getEHHandlerRegister () const
int getDwarfRegNum (unsigned RegNum, bool isEH) const

Static Public Member Functions

std::string getPrettyName (unsigned reg)

Public Attributes

const TargetInstrInfoTII

Constructor & Destructor Documentation

AlphaRegisterInfo::AlphaRegisterInfo const TargetInstrInfo tii  ) 
 

Definition at line 55 of file AlphaRegisterInfo.cpp.


Member Function Documentation

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

Definition at line 111 of file AlphaRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::erase(), llvm::TargetInstrInfo::get(), llvm::TargetMachine::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFunction::getTarget(), hasFP(), llvm::MachineBasicBlock::insert(), and TII.

void AlphaRegisterInfo::eliminateFrameIndex MachineBasicBlock::iterator  II,
int  SPAdj,
RegScavenger RS = NULL
const
 

Definition at line 152 of file AlphaRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), DOUT, llvm::TargetInstrInfo::get(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getIndex(), getLower16(), llvm::MachineInstr::getNumOperands(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MachineFrameInfo::getStackSize(), getUpper16(), hasFP(), IMM_HIGH, llvm::MachineBasicBlock::insert(), llvm::MachineOperand::isFrameIndex(), and TII.

void AlphaRegisterInfo::emitEpilogue MachineFunction MF,
MachineBasicBlock MBB
const
 

Definition at line 262 of file AlphaRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::TargetInstrInfo::get(), llvm::MachineFunction::getFrameInfo(), getLower16(), llvm::MachineFrameInfo::getStackSize(), getUpper16(), hasFP(), llvm::prior(), and TII.

void AlphaRegisterInfo::emitPrologue MachineFunction MF  )  const
 

Definition at line 200 of file AlphaRegisterInfo.cpp.

References llvm::MachineInstrBuilder::addGlobalAddress(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::MachineFunction::front(), llvm::TargetInstrInfo::get(), llvm::TargetMachine::getFrameInfo(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getFunction(), getLower16(), llvm::TargetFrameInfo::getStackAlignment(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getTarget(), getUpper16(), hasFP(), llvm::MachineFrameInfo::setStackSize(), and TII.

const TargetRegisterClass *const * AlphaRegisterInfo::getCalleeSavedRegClasses const MachineFunction MF = 0  )  const
 

Definition at line 76 of file AlphaRegisterInfo.cpp.

const unsigned * AlphaRegisterInfo::getCalleeSavedRegs const MachineFunction MF = 0  )  const
 

Code Generation virtual methods...

Definition at line 61 of file AlphaRegisterInfo.cpp.

int AlphaRegisterInfo::getDwarfRegNum unsigned  RegNum,
bool  isEH
const
 

Definition at line 319 of file AlphaRegisterInfo.cpp.

unsigned AlphaRegisterInfo::getEHExceptionRegister  )  const
 

Definition at line 309 of file AlphaRegisterInfo.cpp.

unsigned AlphaRegisterInfo::getEHHandlerRegister  )  const
 

Definition at line 314 of file AlphaRegisterInfo.cpp.

unsigned AlphaRegisterInfo::getFrameRegister MachineFunction MF  )  const
 

Definition at line 305 of file AlphaRegisterInfo.cpp.

References hasFP().

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

Definition at line 326 of file AlphaRegisterInfo.cpp.

unsigned AlphaRegisterInfo::getRARegister  )  const
 

Definition at line 300 of file AlphaRegisterInfo.cpp.

BitVector AlphaRegisterInfo::getReservedRegs const MachineFunction MF  )  const
 

Definition at line 89 of file AlphaRegisterInfo.cpp.

References llvm::BitVector::set().

bool AlphaRegisterInfo::hasFP const MachineFunction MF  )  const
 

Definition at line 105 of file AlphaRegisterInfo.cpp.

References llvm::MachineFunction::getFrameInfo(), and llvm::MachineFrameInfo::hasVarSizedObjects().

Referenced by eliminateCallFramePseudoInstr(), eliminateFrameIndex(), emitEpilogue(), emitPrologue(), and getFrameRegister().


Member Data Documentation

const TargetInstrInfo& llvm::AlphaRegisterInfo::TII
 

Definition at line 26 of file AlphaRegisterInfo.h.

Referenced by eliminateCallFramePseudoInstr(), eliminateFrameIndex(), emitEpilogue(), and emitPrologue().


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


This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.