diff options
author | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-09-14 21:18:34 +0000 |
---|---|---|
committer | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-09-14 21:18:34 +0000 |
commit | 808568eafcf66b8b3585380dd2c98e431c1892f3 (patch) | |
tree | ed5c406869da1d42f38ea33b838c0cdab134a079 /llvm/lib/CodeGen/RegAlloc/IGNode.cpp | |
parent | dfdab46dc11f66eed94cc8e1f1e2a7576ba354fc (diff) | |
download | bcm5719-llvm-808568eafcf66b8b3585380dd2c98e431c1892f3.tar.gz bcm5719-llvm-808568eafcf66b8b3585380dd2c98e431c1892f3.zip |
*** empty log message ***
llvm-svn: 580
Diffstat (limited to 'llvm/lib/CodeGen/RegAlloc/IGNode.cpp')
-rw-r--r-- | llvm/lib/CodeGen/RegAlloc/IGNode.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/RegAlloc/IGNode.cpp b/llvm/lib/CodeGen/RegAlloc/IGNode.cpp new file mode 100644 index 00000000000..0e8a124cd3d --- /dev/null +++ b/llvm/lib/CodeGen/RegAlloc/IGNode.cpp @@ -0,0 +1,31 @@ +#include "llvm/CodeGen/IGNode.h" + + +IGNode::IGNode(LiveRange *const PLR, unsigned int Ind): Index(Ind), + ParentLR(PLR) +{ + OnStack = false; + CurDegree = -1 ; + ParentLR->setUserIGNode( this ); +} + + + +void IGNode::pushOnStack() // sets on to stack and +{ // reduce the degree of neighbors + OnStack = true; + unsigned int neighs = AdjList.size(); + + for(unsigned int i=0; i < neighs; i++) (AdjList[i])->decCurDegree(); +} + + +void IGNode::delAdjIGNode(const IGNode *const Node) { + vector <IGNode *>::iterator It = AdjList.begin(); + + // find Node + for( ; It != AdjList.end() && (*It != Node); It++ ) ; + assert( It != AdjList.end() ); // the node must be there + + AdjList.erase( It ); +} |