diff options
author | Misha Brukman <brukman+llvm@gmail.com> | 2003-10-23 18:02:47 +0000 |
---|---|---|
committer | Misha Brukman <brukman+llvm@gmail.com> | 2003-10-23 18:02:47 +0000 |
commit | 28ba80e648610adf7ab114de5b087d8c1de61d3e (patch) | |
tree | 8a5eeee117cd9f465d63d3599d4b3ca8ad4bb1b2 | |
parent | ad44de185d365ba7f2ba4208c6c5a16423b3afbd (diff) | |
download | llvm-28ba80e648610adf7ab114de5b087d8c1de61d3e.zip llvm-28ba80e648610adf7ab114de5b087d8c1de61d3e.tar.gz llvm-28ba80e648610adf7ab114de5b087d8c1de61d3e.tar.bz2 |
* 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
llvm-svn: 9430
-rw-r--r-- | llvm/lib/CodeGen/RegAlloc/IGNode.cpp | 12 | ||||
-rw-r--r-- | llvm/lib/CodeGen/RegAlloc/IGNode.h | 43 |
2 files changed, 25 insertions, 30 deletions
diff --git a/llvm/lib/CodeGen/RegAlloc/IGNode.cpp b/llvm/lib/CodeGen/RegAlloc/IGNode.cpp index fcd299b..f883fb1 100644 --- a/llvm/lib/CodeGen/RegAlloc/IGNode.cpp +++ b/llvm/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/llvm/lib/CodeGen/RegAlloc/IGNode.h b/llvm/lib/CodeGen/RegAlloc/IGNode.h index f8286e2..82f07e0 100644 --- a/llvm/lib/CodeGen/RegAlloc/IGNode.h +++ b/llvm/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 |