aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2003-10-23 18:02:47 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2003-10-23 18:02:47 +0000
commita1f64355d79ce9c14a06c014df9d1054410d65ee (patch)
tree21a8816def1b40d88fd0244dc58afee2c36fbecd
parent1913848e337c982f7997fc5fe2a722e514315308 (diff)
* Use C++ style comments instead of C-style
* Make file description more readable * Make code layout more consistent, include comment in assert so it's visible during execution if it hits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9430 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/RegAlloc/IGNode.cpp12
-rw-r--r--lib/CodeGen/RegAlloc/IGNode.h43
-rw-r--r--lib/Target/SparcV9/RegAlloc/IGNode.cpp12
-rw-r--r--lib/Target/SparcV9/RegAlloc/IGNode.h43
4 files changed, 50 insertions, 60 deletions
diff --git a/lib/CodeGen/RegAlloc/IGNode.cpp b/lib/CodeGen/RegAlloc/IGNode.cpp
index fcd299b28c..f883fb13c1 100644
--- a/lib/CodeGen/RegAlloc/IGNode.cpp
+++ b/lib/CodeGen/RegAlloc/IGNode.cpp
@@ -7,7 +7,8 @@
//
//===----------------------------------------------------------------------===//
//
-// class IGNode for coloring-based register allocation for LLVM.
+// This file implements an Interference graph node for coloring-based register
+// allocation.
//
//===----------------------------------------------------------------------===//
@@ -28,7 +29,7 @@ void IGNode::pushOnStack() {
assert(0 && "Invalid adj list size");
}
- for(int i=0; i < neighs; i++)
+ for (int i=0; i < neighs; i++)
AdjList[i]->decCurDegree();
}
@@ -39,7 +40,7 @@ void IGNode::pushOnStack() {
void IGNode::delAdjIGNode(const IGNode *Node) {
std::vector<IGNode *>::iterator It=find(AdjList.begin(), AdjList.end(), Node);
- assert( It != AdjList.end() ); // the node must be there
+ assert(It != AdjList.end() && "The node must be there!");
AdjList.erase(It);
}
@@ -48,13 +49,10 @@ void IGNode::delAdjIGNode(const IGNode *Node) {
//-----------------------------------------------------------------------------
unsigned
-IGNode::getCombinedDegree(const IGNode* otherNode) const
-{
+IGNode::getCombinedDegree(const IGNode* otherNode) const {
std::vector<IGNode*> nbrs(AdjList);
nbrs.insert(nbrs.end(), otherNode->AdjList.begin(), otherNode->AdjList.end());
sort(nbrs.begin(), nbrs.end());
std::vector<IGNode*>::iterator new_end = unique(nbrs.begin(), nbrs.end());
return new_end - nbrs.begin();
}
-
-
diff --git a/lib/CodeGen/RegAlloc/IGNode.h b/lib/CodeGen/RegAlloc/IGNode.h
index f8286e22bd..82f07e0c7e 100644
--- a/lib/CodeGen/RegAlloc/IGNode.h
+++ b/lib/CodeGen/RegAlloc/IGNode.h
@@ -6,29 +6,26 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-
-/* Title: IGNode.h -*- C++ -*-
- Author: Ruchira Sasanka
- Date: July 25, 01
- Purpose: Represents a node in an interference graph.
- Notes:
-
- For efficiency, the AdjList is updated only once - ie. we can add but not
- remove nodes from AdjList.
-
- The removal of nodes from IG is simulated by decrementing the CurDegree.
- If this node is put on stack (that is removed from IG), the CurDegree of all
- the neighbors are decremented and this node is marked OnStack. Hence
- the effective neighbors in the AdjList are the ones that do not have the
- OnStack flag set (therefore, they are in the IG).
-
- The methods that modify/use the CurDegree must be called only
- after all modifications to the IG are over (i.e., all neighbors are fixed).
-
- The vector representation is the most efficient one for adj list.
- Though nodes are removed when coalescing is done, we access it in sequence
- for far many times when coloring (colorNode()).
-*/
+//
+// This file represents a node in an interference graph.
+//
+// For efficiency, the AdjList is updated only once - ie. we can add but not
+// remove nodes from AdjList.
+//
+// The removal of nodes from IG is simulated by decrementing the CurDegree.
+// If this node is put on stack (that is removed from IG), the CurDegree of all
+// the neighbors are decremented and this node is marked OnStack. Hence
+// the effective neighbors in the AdjList are the ones that do not have the
+// OnStack flag set (therefore, they are in the IG).
+//
+// The methods that modify/use the CurDegree must be called only
+// after all modifications to the IG are over (i.e., all neighbors are fixed).
+//
+// The vector representation is the most efficient one for adj list.
+// Though nodes are removed when coalescing is done, we access it in sequence
+// for far many times when coloring (colorNode()).
+//
+//===----------------------------------------------------------------------===//
#ifndef IGNODE_H
#define IGNODE_H
diff --git a/lib/Target/SparcV9/RegAlloc/IGNode.cpp b/lib/Target/SparcV9/RegAlloc/IGNode.cpp
index fcd299b28c..f883fb13c1 100644
--- a/lib/Target/SparcV9/RegAlloc/IGNode.cpp
+++ b/lib/Target/SparcV9/RegAlloc/IGNode.cpp
@@ -7,7 +7,8 @@
//
//===----------------------------------------------------------------------===//
//
-// class IGNode for coloring-based register allocation for LLVM.
+// This file implements an Interference graph node for coloring-based register
+// allocation.
//
//===----------------------------------------------------------------------===//
@@ -28,7 +29,7 @@ void IGNode::pushOnStack() {
assert(0 && "Invalid adj list size");
}
- for(int i=0; i < neighs; i++)
+ for (int i=0; i < neighs; i++)
AdjList[i]->decCurDegree();
}
@@ -39,7 +40,7 @@ void IGNode::pushOnStack() {
void IGNode::delAdjIGNode(const IGNode *Node) {
std::vector<IGNode *>::iterator It=find(AdjList.begin(), AdjList.end(), Node);
- assert( It != AdjList.end() ); // the node must be there
+ assert(It != AdjList.end() && "The node must be there!");
AdjList.erase(It);
}
@@ -48,13 +49,10 @@ void IGNode::delAdjIGNode(const IGNode *Node) {
//-----------------------------------------------------------------------------
unsigned
-IGNode::getCombinedDegree(const IGNode* otherNode) const
-{
+IGNode::getCombinedDegree(const IGNode* otherNode) const {
std::vector<IGNode*> nbrs(AdjList);
nbrs.insert(nbrs.end(), otherNode->AdjList.begin(), otherNode->AdjList.end());
sort(nbrs.begin(), nbrs.end());
std::vector<IGNode*>::iterator new_end = unique(nbrs.begin(), nbrs.end());
return new_end - nbrs.begin();
}
-
-
diff --git a/lib/Target/SparcV9/RegAlloc/IGNode.h b/lib/Target/SparcV9/RegAlloc/IGNode.h
index f8286e22bd..82f07e0c7e 100644
--- a/lib/Target/SparcV9/RegAlloc/IGNode.h
+++ b/lib/Target/SparcV9/RegAlloc/IGNode.h
@@ -6,29 +6,26 @@
// the University of Illinois Open Source License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-
-/* Title: IGNode.h -*- C++ -*-
- Author: Ruchira Sasanka
- Date: July 25, 01
- Purpose: Represents a node in an interference graph.
- Notes:
-
- For efficiency, the AdjList is updated only once - ie. we can add but not
- remove nodes from AdjList.
-
- The removal of nodes from IG is simulated by decrementing the CurDegree.
- If this node is put on stack (that is removed from IG), the CurDegree of all
- the neighbors are decremented and this node is marked OnStack. Hence
- the effective neighbors in the AdjList are the ones that do not have the
- OnStack flag set (therefore, they are in the IG).
-
- The methods that modify/use the CurDegree must be called only
- after all modifications to the IG are over (i.e., all neighbors are fixed).
-
- The vector representation is the most efficient one for adj list.
- Though nodes are removed when coalescing is done, we access it in sequence
- for far many times when coloring (colorNode()).
-*/
+//
+// This file represents a node in an interference graph.
+//
+// For efficiency, the AdjList is updated only once - ie. we can add but not
+// remove nodes from AdjList.
+//
+// The removal of nodes from IG is simulated by decrementing the CurDegree.
+// If this node is put on stack (that is removed from IG), the CurDegree of all
+// the neighbors are decremented and this node is marked OnStack. Hence
+// the effective neighbors in the AdjList are the ones that do not have the
+// OnStack flag set (therefore, they are in the IG).
+//
+// The methods that modify/use the CurDegree must be called only
+// after all modifications to the IG are over (i.e., all neighbors are fixed).
+//
+// The vector representation is the most efficient one for adj list.
+// Though nodes are removed when coalescing is done, we access it in sequence
+// for far many times when coloring (colorNode()).
+//
+//===----------------------------------------------------------------------===//
#ifndef IGNODE_H
#define IGNODE_H