summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAlloc/IGNode.cpp
diff options
context:
space:
mode:
authorRuchira Sasanka <sasanka@students.uiuc.edu>2001-09-14 21:18:34 +0000
committerRuchira Sasanka <sasanka@students.uiuc.edu>2001-09-14 21:18:34 +0000
commit808568eafcf66b8b3585380dd2c98e431c1892f3 (patch)
treeed5c406869da1d42f38ea33b838c0cdab134a079 /llvm/lib/CodeGen/RegAlloc/IGNode.cpp
parentdfdab46dc11f66eed94cc8e1f1e2a7576ba354fc (diff)
downloadbcm5719-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.cpp31
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 );
+}
OpenPOWER on IntegriCloud