From 8e6047920dbf22a1edcbd98e65a8bc57a56c0e17 Mon Sep 17 00:00:00 2001 From: Ruchira Sasanka Date: Fri, 14 Sep 2001 21:18:34 +0000 Subject: *** empty log message *** git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@580 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/RegAlloc/IGNode.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/CodeGen/RegAlloc/IGNode.cpp (limited to 'lib/CodeGen/RegAlloc/IGNode.cpp') diff --git a/lib/CodeGen/RegAlloc/IGNode.cpp b/lib/CodeGen/RegAlloc/IGNode.cpp new file mode 100644 index 0000000000..0e8a124cd3 --- /dev/null +++ b/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 ::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 ); +} -- cgit v1.2.3-18-g5258