LLVM API Documentation

llvm::TargetRegClassInfo Class Reference

#include <SparcV9RegInfo.h>

Inheritance diagram for llvm::TargetRegClassInfo:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~TargetRegClassInfo ()
unsigned getRegClassID () const
unsigned getNumOfAvailRegs () const
unsigned getNumOfAllRegs () const
virtual void markColorsUsed (unsigned RegInClass, int UserRegType, int RegTypeWanted, std::vector< bool > &IsColorUsedArr) const
virtual int findUnusedColor (int RegTypeWanted, const std::vector< bool > &IsColorUsedArr) const
virtual void colorIGNode (IGNode *Node, const std::vector< bool > &IsColorUsedArr) const =0
virtual bool isRegVolatile (int Reg) const =0
virtual bool modifiedByCall (int Reg) const
virtual const char *const getRegName (unsigned reg) const =0
 TargetRegClassInfo (unsigned ID, unsigned NVR, unsigned NAR)

Protected Attributes

const unsigned RegClassID
const unsigned NumOfAvailRegs
const unsigned NumOfAllRegs

Detailed Description

---------------------------------------------------------------------------- Interface to description of machine register class (e.g., int reg class float reg class etc)

Definition at line 41 of file SparcV9RegInfo.h.


Constructor & Destructor Documentation

virtual llvm::TargetRegClassInfo::~TargetRegClassInfo (  )  [inline, virtual]

Definition at line 48 of file SparcV9RegInfo.h.

llvm::TargetRegClassInfo::TargetRegClassInfo ( unsigned  ID,
unsigned  NVR,
unsigned  NAR 
) [inline]

Definition at line 100 of file SparcV9RegInfo.h.


Member Function Documentation

virtual void llvm::TargetRegClassInfo::colorIGNode ( IGNode Node,
const std::vector< bool > &  IsColorUsedArr 
) const [pure virtual]

Implemented in llvm::SparcV9IntRegClass, llvm::SparcV9FloatRegClass, llvm::SparcV9IntCCRegClass, llvm::SparcV9FloatCCRegClass, and llvm::SparcV9SpecialRegClass.

virtual int llvm::TargetRegClassInfo::findUnusedColor ( int  RegTypeWanted,
const std::vector< bool > &  IsColorUsedArr 
) const [inline, virtual]

Reimplemented in llvm::SparcV9FloatRegClass.

Definition at line 74 of file SparcV9RegInfo.h.

References c, and getNumOfAvailRegs().

Referenced by llvm::SparcV9FloatRegClass::findUnusedColor(), and llvm::RegClass::getUnusedColor().

unsigned llvm::TargetRegClassInfo::getNumOfAllRegs (  )  const [inline]

Definition at line 52 of file SparcV9RegInfo.h.

References NumOfAllRegs.

Referenced by llvm::RegClass::clearColorsUsed(), and llvm::RegClass::RegClass().

unsigned llvm::TargetRegClassInfo::getNumOfAvailRegs (  )  const [inline]

Definition at line 51 of file SparcV9RegInfo.h.

References NumOfAvailRegs.

Referenced by findUnusedColor(), llvm::SparcV9FloatRegClass::findUnusedColor(), and llvm::RegClass::getNumOfAvailRegs().

unsigned llvm::TargetRegClassInfo::getRegClassID (  )  const [inline]

Definition at line 50 of file SparcV9RegInfo.h.

References RegClassID.

virtual const char* const llvm::TargetRegClassInfo::getRegName ( unsigned  reg  )  const [pure virtual]

Implemented in llvm::SparcV9IntRegClass, llvm::SparcV9FloatRegClass, llvm::SparcV9IntCCRegClass, llvm::SparcV9FloatCCRegClass, and llvm::SparcV9SpecialRegClass.

virtual bool llvm::TargetRegClassInfo::isRegVolatile ( int  Reg  )  const [pure virtual]

Implemented in llvm::SparcV9IntRegClass, llvm::SparcV9FloatRegClass, llvm::SparcV9IntCCRegClass, llvm::SparcV9FloatCCRegClass, and llvm::SparcV9SpecialRegClass.

virtual void llvm::TargetRegClassInfo::markColorsUsed ( unsigned  RegInClass,
int  UserRegType,
int  RegTypeWanted,
std::vector< bool > &  IsColorUsedArr 
) const [inline, virtual]

Reimplemented in llvm::SparcV9FloatRegClass.

Definition at line 58 of file SparcV9RegInfo.h.

References NumOfAllRegs.

Referenced by llvm::RegClass::markColorsUsed().

virtual bool llvm::TargetRegClassInfo::modifiedByCall ( int  Reg  )  const [inline, virtual]

Reimplemented in llvm::SparcV9IntRegClass.

Definition at line 96 of file SparcV9RegInfo.h.


Member Data Documentation

const unsigned llvm::TargetRegClassInfo::NumOfAllRegs [protected]

Reimplemented in llvm::SparcV9IntRegClass, and llvm::SparcV9FloatRegClass.

Definition at line 45 of file SparcV9RegInfo.h.

Referenced by getNumOfAllRegs(), and markColorsUsed().

const unsigned llvm::TargetRegClassInfo::NumOfAvailRegs [protected]

Reimplemented in llvm::SparcV9IntRegClass, and llvm::SparcV9FloatRegClass.

Definition at line 44 of file SparcV9RegInfo.h.

Referenced by getNumOfAvailRegs().

const unsigned llvm::TargetRegClassInfo::RegClassID [protected]

Definition at line 43 of file SparcV9RegInfo.h.

Referenced by getRegClassID().


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