#include "llvm/CodeGen/IGNode.h" IGNode::IGNode(LiveRange *const PLR, unsigned int Ind): Index(Ind), AdjList(), 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 ); }