#include "llvm/CodeGen/IGNode.h" #include #include using std::cerr; //----------------------------------------------------------------------------- // Sets this IGNode on stack and reduce the degree of neighbors //----------------------------------------------------------------------------- void IGNode::pushOnStack() { OnStack = true; int neighs = AdjList.size(); if (neighs < 0) { cerr << "\nAdj List size = " << neighs; assert(0 && "Invalid adj list size"); } for(int i=0; i < neighs; i++) AdjList[i]->decCurDegree(); } //----------------------------------------------------------------------------- // Deletes an adjacency node. IGNodes are deleted when coalescing merges // two IGNodes together. //----------------------------------------------------------------------------- void IGNode::delAdjIGNode(const IGNode *Node) { std::vector::iterator It=find(AdjList.begin(), AdjList.end(), Node); assert( It != AdjList.end() ); // the node must be there AdjList.erase(It); }