[llvm-commits] CVS: llvm/lib/CodeGen/RegAlloc/IGNode.cpp IGNode.h

Misha Brukman brukman at cs.uiuc.edu
Thu Oct 23 13:03:01 PDT 2003


Changes in directory llvm/lib/CodeGen/RegAlloc:

IGNode.cpp updated: 1.10 -> 1.11
IGNode.h updated: 1.18 -> 1.19

---
Log message:

* 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


---
Diffs of the changes:  (+25 -30)

Index: llvm/lib/CodeGen/RegAlloc/IGNode.cpp
diff -u llvm/lib/CodeGen/RegAlloc/IGNode.cpp:1.10 llvm/lib/CodeGen/RegAlloc/IGNode.cpp:1.11
--- llvm/lib/CodeGen/RegAlloc/IGNode.cpp:1.10	Mon Oct 20 14:43:16 2003
+++ llvm/lib/CodeGen/RegAlloc/IGNode.cpp	Thu Oct 23 13:02:47 2003
@@ -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 @@
     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::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 @@
 //-----------------------------------------------------------------------------
 
 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();
 }
-
-


Index: llvm/lib/CodeGen/RegAlloc/IGNode.h
diff -u llvm/lib/CodeGen/RegAlloc/IGNode.h:1.18 llvm/lib/CodeGen/RegAlloc/IGNode.h:1.19
--- llvm/lib/CodeGen/RegAlloc/IGNode.h:1.18	Tue Oct 21 10:24:53 2003
+++ llvm/lib/CodeGen/RegAlloc/IGNode.h	Thu Oct 23 13:02:47 2003
@@ -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





More information about the llvm-commits mailing list