LLVM API Documentation

llvm::SparcV9RegisterInfo Struct Reference

#include <SparcV9RegisterInfo.h>

Inheritance diagram for llvm::SparcV9RegisterInfo:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SparcV9RegisterInfo ()
const unsigned * getCalleeSaveRegs () const
const TargetRegisterClass
*const * 
getCalleeSaveRegClasses () const
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned SrcReg, int FrameIndex, const TargetRegisterClass *RC) const
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, int FrameIndex, const TargetRegisterClass *RC) const
void copyRegToReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator MI, unsigned DestReg, unsigned SrcReg, const TargetRegisterClass *RC) const
void eliminateFrameIndex (MachineBasicBlock::iterator MI) const
void emitPrologue (MachineFunction &MF) const
void emitEpilogue (MachineFunction &MF, MachineBasicBlock &MBB) const
int getDwarfRegNum (unsigned RegNum) const
 Debug information queries.
unsigned getRARegister () const
unsigned getFrameRegister (MachineFunction &MF) const

Detailed Description

Definition at line 23 of file SparcV9RegisterInfo.h.


Constructor & Destructor Documentation

SparcV9RegisterInfo::SparcV9RegisterInfo (  ) 

Definition at line 280 of file SparcV9RegisterInfo.cpp.


Member Function Documentation

void SparcV9RegisterInfo::copyRegToReg ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
unsigned  DestReg,
unsigned  SrcReg,
const TargetRegisterClass RC 
) const [virtual]

Implements llvm::MRegisterInfo.

Definition at line 299 of file SparcV9RegisterInfo.cpp.

References abort().

void SparcV9RegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  MI  )  const [virtual]

eliminateFrameIndex - This method must be overriden to eliminate abstract frame indices from instructions which may use them. The instruction referenced by the iterator contains an MO_FrameIndex operand which must be eliminated by this method. This method may modify or replace the specified instruction, as long as it keeps the iterator pointing the the finished product. The return value is the number of instructions added to (negative if removed from) the basic block.

Implements llvm::MRegisterInfo.

Definition at line 306 of file SparcV9RegisterInfo.cpp.

References abort().

void SparcV9RegisterInfo::emitEpilogue ( MachineFunction MF,
MachineBasicBlock MBB 
) const [virtual]

Implements llvm::MRegisterInfo.

Definition at line 315 of file SparcV9RegisterInfo.cpp.

References abort().

void SparcV9RegisterInfo::emitPrologue ( MachineFunction MF  )  const [virtual]

emitProlog/emitEpilog - These methods insert prolog and epilog code into the function. The return value is the number of instructions added to (negative if removed from) the basic block (entry for prologue).

Implements llvm::MRegisterInfo.

Definition at line 311 of file SparcV9RegisterInfo.cpp.

References abort().

const TargetRegisterClass* const* llvm::SparcV9RegisterInfo::getCalleeSaveRegClasses (  )  const [inline, virtual]

getCalleeSaveRegClasses - Return a null-terminated list of the preferred register classes to spill each callee-saved register with. The order and length of this list match the getCalleeSaveRegs() list.

Implements llvm::MRegisterInfo.

Definition at line 26 of file SparcV9RegisterInfo.h.

const unsigned * llvm::SparcV9RegisterInfo::getCalleeSaveRegs (  )  const [virtual]

getCalleeSaveRegs - Return a null-terminated list of all of the callee-save registers on this target.

Implements llvm::MRegisterInfo.

Definition at line 254 of file SparcV9RegisterInfo.cpp.

References llvm::SparcV9::g0, llvm::SparcV9::g1, llvm::SparcV9::g2, llvm::SparcV9::g3, llvm::SparcV9::g4, llvm::SparcV9::g5, llvm::SparcV9::g6, llvm::SparcV9::g7, llvm::SparcV9::i0, llvm::SparcV9::i1, llvm::SparcV9::i2, llvm::SparcV9::i3, llvm::SparcV9::i4, llvm::SparcV9::i5, llvm::SparcV9::i6, llvm::SparcV9::i7, llvm::SparcV9::l0, llvm::SparcV9::l1, llvm::SparcV9::l2, llvm::SparcV9::l3, llvm::SparcV9::l4, llvm::SparcV9::l5, llvm::SparcV9::l6, llvm::SparcV9::l7, and llvm::SparcV9::o6.

int SparcV9RegisterInfo::getDwarfRegNum ( unsigned  RegNum  )  const [virtual]

Debug information queries.

getDwarfRegNum - Map a target register to an equivalent dwarf register number. Returns -1 if there is no equivalent value.

Implements llvm::MRegisterInfo.

Definition at line 320 of file SparcV9RegisterInfo.cpp.

References abort().

unsigned SparcV9RegisterInfo::getFrameRegister ( MachineFunction MF  )  const [virtual]

getFrameRegister - This method should return the register used as a base for values allocated in the current stack frame.

Implements llvm::MRegisterInfo.

Definition at line 330 of file SparcV9RegisterInfo.cpp.

References abort().

unsigned SparcV9RegisterInfo::getRARegister (  )  const [virtual]

getRARegister - This method should return the register where the return address can be found.

Implements llvm::MRegisterInfo.

Definition at line 325 of file SparcV9RegisterInfo.cpp.

References abort().

void SparcV9RegisterInfo::loadRegFromStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
unsigned  DestReg,
int  FrameIndex,
const TargetRegisterClass RC 
) const [virtual]

Implements llvm::MRegisterInfo.

Definition at line 292 of file SparcV9RegisterInfo.cpp.

References abort().

void SparcV9RegisterInfo::storeRegToStackSlot ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  MI,
unsigned  SrcReg,
int  FrameIndex,
const TargetRegisterClass RC 
) const [virtual]

Implements llvm::MRegisterInfo.

Definition at line 285 of file SparcV9RegisterInfo.cpp.

References abort().


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