LLVM API Documentation

llvm::SPURegisterInfo Class Reference

#include <SPURegisterInfo.h>

Inheritance diagram for llvm::SPURegisterInfo:
[legend]
Collaboration diagram for llvm::SPURegisterInfo:
[legend]

List of all members.

Public Member Functions

 SPURegisterInfo (const SPUSubtarget &subtarget, const TargetInstrInfo &tii)
virtual const unsigned * getCalleeSavedRegs (const MachineFunction *MF) const
 Return the array of callee-saved registers.
virtual const
TargetRegisterClass *const * 
getCalleeSavedRegClasses (const MachineFunction *MF) const
 Return the register class array of the callee-saved registers.
BitVector getReservedRegs (const MachineFunction &MF) const
 Return the reserved registers.
bool hasFP (const MachineFunction &MF) const
 Prediate: Target has dedicated frame pointer.
void eliminateCallFramePseudoInstr (MachineFunction &MF, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) const
 Eliminate the call frame setup pseudo-instructions.
void eliminateFrameIndex (MachineBasicBlock::iterator II, int, RegScavenger *RS) const
 Convert frame indicies into machine operands.
void determineFrameLayout (MachineFunction &MF) const
 Determine the frame's layour.
void processFunctionBeforeCalleeSavedScan (MachineFunction &MF, RegScavenger *RS=NULL) const
void emitPrologue (MachineFunction &MF) const
 Emit the function prologue.
void emitEpilogue (MachineFunction &MF, MachineBasicBlock &MBB) const
 Emit the function epilogue.
unsigned getRARegister () const
 Get return address register (LR, aka R0).
unsigned getFrameRegister (MachineFunction &MF) const
 Get the stack frame register (SP, aka R1).
void getInitialFrameState (std::vector< MachineMove > &Moves) const
 Perform target-specific stack frame setup.
int getDwarfRegNum (unsigned RegNum, bool isEH) const
 Get DWARF debugging register number.

Static Public Member Functions

static unsigned getRegisterNumbering (unsigned RegEnum)
 Translate a register's enum value to a register number.
static const unsigned * getArgRegs ()
 Return the array of argument passing registers.
static unsigned getNumArgRegs ()
 Return the size of the argument passing register array.


Detailed Description

Definition at line 26 of file SPURegisterInfo.h.


Constructor & Destructor Documentation

SPURegisterInfo::SPURegisterInfo ( const SPUSubtarget &  subtarget,
const TargetInstrInfo &  tii 
)

Definition at line 184 of file SPURegisterInfo.cpp.


Member Function Documentation

unsigned SPURegisterInfo::getRegisterNumbering ( unsigned  RegEnum  )  [static]

Translate a register's enum value to a register number.

This method translates a register's enum value to it's regiser number, e.g. SPU::R14 -> 14.

getRegisterNumbering - Given the enum value for some register, e.g. PPC::F14, return the number that it corresponds to (e.g. 14).

Definition at line 47 of file SPURegisterInfo.cpp.

References llvm::cerr().

const unsigned * SPURegisterInfo::getCalleeSavedRegs ( const MachineFunction *  MF  )  const [virtual]

Return the array of callee-saved registers.

Definition at line 220 of file SPURegisterInfo.cpp.

const TargetRegisterClass *const * SPURegisterInfo::getCalleeSavedRegClasses ( const MachineFunction *  MF  )  const [virtual]

Return the register class array of the callee-saved registers.

Definition at line 246 of file SPURegisterInfo.cpp.

BitVector SPURegisterInfo::getReservedRegs ( const MachineFunction &  MF  )  const

Return the reserved registers.

R0 (link register), R1 (stack pointer) and R2 (environment pointer -- this is generally unused) are the Cell's reserved registers

Definition at line 279 of file SPURegisterInfo.cpp.

References llvm::BitVector::set().

bool SPURegisterInfo::hasFP ( const MachineFunction &  MF  )  const

Prediate: Target has dedicated frame pointer.

Definition at line 305 of file SPURegisterInfo.cpp.

References llvm::MachineFunction::getFrameInfo(), llvm::MachineFrameInfo::getStackSize(), MFI, and needsFP().

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

Eliminate the call frame setup pseudo-instructions.

Definition at line 312 of file SPURegisterInfo.cpp.

References llvm::MachineBasicBlock::erase().

void SPURegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  II,
int  SPAdj,
RegScavenger *  RS 
) const

void SPURegisterInfo::determineFrameLayout ( MachineFunction &  MF  )  const

void SPURegisterInfo::processFunctionBeforeCalleeSavedScan ( MachineFunction &  MF,
RegScavenger *  RS = NULL 
) const

void SPURegisterInfo::emitPrologue ( MachineFunction &  MF  )  const

void SPURegisterInfo::emitEpilogue ( MachineFunction &  MF,
MachineBasicBlock &  MBB 
) const

unsigned SPURegisterInfo::getRARegister (  )  const

Get return address register (LR, aka R0).

Definition at line 575 of file SPURegisterInfo.cpp.

unsigned SPURegisterInfo::getFrameRegister ( MachineFunction &  MF  )  const

Get the stack frame register (SP, aka R1).

Definition at line 581 of file SPURegisterInfo.cpp.

void SPURegisterInfo::getInitialFrameState ( std::vector< MachineMove > &  Moves  )  const

Perform target-specific stack frame setup.

Definition at line 587 of file SPURegisterInfo.cpp.

References Src, and llvm::MachineLocation::VirtualFP.

const unsigned * SPURegisterInfo::getArgRegs (  )  [static]

Return the array of argument passing registers.

Note:
The size of this array is returned by getArgRegsSize().

Definition at line 208 of file SPURegisterInfo.cpp.

Referenced by LowerCALL(), and LowerFORMAL_ARGUMENTS().

unsigned SPURegisterInfo::getNumArgRegs (  )  [static]

Return the size of the argument passing register array.

Definition at line 214 of file SPURegisterInfo.cpp.

Referenced by llvm::SPUFrameInfo::fullSpillSize(), LowerCALL(), and LowerFORMAL_ARGUMENTS().

int SPURegisterInfo::getDwarfRegNum ( unsigned  RegNum,
bool  isEH 
) const

Get DWARF debugging register number.

Definition at line 597 of file SPURegisterInfo.cpp.


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