LLVM API Documentation

llvm::RegClass Class Reference

#include <RegClass.h>

Collaboration diagram for llvm::RegClass:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RegClass (const Function *M, const SparcV9RegInfo *_MRI_, const TargetRegClassInfo *_MRC_)
void createInterferenceGraph ()
InterferenceGraphgetIG ()
const unsigned getID () const
const TargetRegClassInfogetTargetRegClass () const
void colorAllRegs ()
unsigned getNumOfAvailRegs () const
void addLRToIG (V9LiveRange *const LR)
void setInterference (const V9LiveRange *const LR1, const V9LiveRange *const LR2)
unsigned getInterference (const V9LiveRange *const LR1, const V9LiveRange *const LR2) const
void mergeIGNodesOfLRs (const V9LiveRange *const LR1, V9LiveRange *const LR2)
void clearColorsUsed ()
void markColorsUsed (unsigned ClassRegNum, int UserRegType, int RegTypeWanted)
int getUnusedColor (int machineRegType) const
void printIGNodeList () const
void printIG ()

Detailed Description

Definition at line 46 of file RegClass.h.


Constructor & Destructor Documentation

llvm::RegClass::RegClass ( const Function M,
const SparcV9RegInfo _MRI_,
const TargetRegClassInfo _MRC_ 
)

Definition at line 26 of file RegClass.cpp.

References llvm::DEBUG_RA, llvm::TargetRegClassInfo::getNumOfAllRegs(), and llvm::RA_DEBUG_Interference.


Member Function Documentation

void llvm::RegClass::addLRToIG ( V9LiveRange *const   LR  )  [inline]

Definition at line 112 of file RegClass.h.

References llvm::InterferenceGraph::addLRToIG().

void llvm::RegClass::clearColorsUsed (  )  [inline]

Definition at line 128 of file RegClass.h.

References llvm::TargetRegClassInfo::getNumOfAllRegs().

void llvm::RegClass::colorAllRegs (  ) 

Definition at line 43 of file RegClass.cpp.

References llvm::DEBUG_RA, and llvm::RA_DEBUG_Coloring.

void llvm::RegClass::createInterferenceGraph (  )  [inline]

Definition at line 93 of file RegClass.h.

References llvm::InterferenceGraph::createGraph().

const unsigned llvm::RegClass::getID (  )  const [inline]

Definition at line 97 of file RegClass.h.

Referenced by llvm::V9LiveRange::getRegClassID().

InterferenceGraph& llvm::RegClass::getIG (  )  [inline]

Definition at line 95 of file RegClass.h.

unsigned llvm::RegClass::getInterference ( const V9LiveRange *const   LR1,
const V9LiveRange *const   LR2 
) const [inline]

Definition at line 119 of file RegClass.h.

References llvm::InterferenceGraph::getInterference().

Referenced by llvm::LiveRangeInfo::coalesceLRs().

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

Definition at line 105 of file RegClass.h.

References llvm::TargetRegClassInfo::getNumOfAvailRegs().

Referenced by llvm::LiveRangeInfo::coalesceLRs().

const TargetRegClassInfo* llvm::RegClass::getTargetRegClass (  )  const [inline]

Definition at line 99 of file RegClass.h.

int llvm::RegClass::getUnusedColor ( int  machineRegType  )  const [inline]

Definition at line 137 of file RegClass.h.

References llvm::TargetRegClassInfo::findUnusedColor().

void llvm::RegClass::markColorsUsed ( unsigned  ClassRegNum,
int  UserRegType,
int  RegTypeWanted 
) [inline]

Definition at line 132 of file RegClass.h.

References llvm::TargetRegClassInfo::markColorsUsed().

void llvm::RegClass::mergeIGNodesOfLRs ( const V9LiveRange *const   LR1,
V9LiveRange *const   LR2 
) [inline]

Definition at line 123 of file RegClass.h.

References llvm::InterferenceGraph::mergeIGNodesOfLRs().

Referenced by llvm::LiveRangeInfo::coalesceLRs().

void llvm::RegClass::printIG (  ) 

Definition at line 246 of file RegClass.cpp.

References llvm::InterferenceGraph::printIG().

void llvm::RegClass::printIGNodeList (  )  const

Definition at line 241 of file RegClass.cpp.

References llvm::InterferenceGraph::printIGNodeList().

void llvm::RegClass::setInterference ( const V9LiveRange *const   LR1,
const V9LiveRange *const   LR2 
) [inline]

Definition at line 115 of file RegClass.h.

References llvm::InterferenceGraph::setInterference().


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