LLVM API Documentation

llvm::InterferenceGraph Class Reference

#include <InterferenceGraph.h>

Collaboration diagram for llvm::InterferenceGraph:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 InterferenceGraph (RegClass *RC)
 ~InterferenceGraph ()
void createGraph ()
void addLRToIG (V9LiveRange *LR)
void setInterference (const V9LiveRange *LR1, const V9LiveRange *LR2)
unsigned getInterference (const V9LiveRange *LR1, const V9LiveRange *LR2) const
void mergeIGNodesOfLRs (const V9LiveRange *LR1, V9LiveRange *LR2)
std::vector< IGNode * > & getIGNodeList ()
const std::vector< IGNode * > & getIGNodeList () const
void setCurDegreeOfIGNodes ()
void printIG () const
void printIGNodeList () const

Detailed Description

Definition at line 40 of file InterferenceGraph.h.


Constructor & Destructor Documentation

llvm::InterferenceGraph::InterferenceGraph ( RegClass RC  ) 

Definition at line 34 of file InterferenceGraph.cpp.

References llvm::DEBUG_RA, and llvm::RA_DEBUG_Interference.

llvm::InterferenceGraph::~InterferenceGraph (  ) 

Definition at line 45 of file InterferenceGraph.cpp.

References r.


Member Function Documentation

void llvm::InterferenceGraph::addLRToIG ( V9LiveRange LR  ) 

Definition at line 77 of file InterferenceGraph.cpp.

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

void llvm::InterferenceGraph::createGraph (  ) 

Definition at line 61 of file InterferenceGraph.cpp.

References r.

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

const std::vector<IGNode *>& llvm::InterferenceGraph::getIGNodeList (  )  const [inline]

Definition at line 65 of file InterferenceGraph.h.

std::vector<IGNode *>& llvm::InterferenceGraph::getIGNodeList (  )  [inline]

Definition at line 64 of file InterferenceGraph.h.

Referenced by llvm::assertIGNode().

unsigned llvm::InterferenceGraph::getInterference ( const V9LiveRange LR1,
const V9LiveRange LR2 
) const

Definition at line 122 of file InterferenceGraph.cpp.

References llvm::assertIGNode(), llvm::IGNode::getIndex(), and llvm::V9LiveRange::getUserIGNode().

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

void llvm::InterferenceGraph::mergeIGNodesOfLRs ( const V9LiveRange LR1,
V9LiveRange LR2 
)

Definition at line 149 of file InterferenceGraph.cpp.

References llvm::assertIGNode(), llvm::DEBUG_RA, llvm::IGNode::getAdjIGNode(), llvm::IGNode::getIndex(), llvm::IGNode::getNumOfNeighbors(), llvm::IGNode::getParentLR(), llvm::V9LiveRange::getUserIGNode(), llvm::RA_DEBUG_Interference, and setInterference().

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

void llvm::InterferenceGraph::printIG (  )  const

Definition at line 222 of file InterferenceGraph.cpp.

References Node.

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

void llvm::InterferenceGraph::printIGNodeList (  )  const

Definition at line 239 of file InterferenceGraph.cpp.

References Node.

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

void llvm::InterferenceGraph::setCurDegreeOfIGNodes (  ) 

Definition at line 202 of file InterferenceGraph.cpp.

References Node.

void llvm::InterferenceGraph::setInterference ( const V9LiveRange LR1,
const V9LiveRange LR2 
)

Definition at line 90 of file InterferenceGraph.cpp.

References llvm::IGNode::addAdjIGNode(), llvm::assertIGNode(), llvm::DEBUG_RA, llvm::IGNode::getIndex(), llvm::V9LiveRange::getUserIGNode(), and llvm::RA_DEBUG_Interference.

Referenced by mergeIGNodesOfLRs(), and llvm::RegClass::setInterference().


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