LLVM API Documentation
#include <InterferenceGraph.h>
Collaboration diagram for llvm::InterferenceGraph:
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 |
Definition at line 40 of file InterferenceGraph.h.
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 | ( | ) |
void llvm::InterferenceGraph::addLRToIG | ( | V9LiveRange * | LR | ) |
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] |
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 | ( | ) |
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().