From a1f64355d79ce9c14a06c014df9d1054410d65ee Mon Sep 17 00:00:00 2001 From: Misha Brukman Date: Thu, 23 Oct 2003 18:02:47 +0000 Subject: [PATCH] * 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 --- lib/CodeGen/RegAlloc/IGNode.cpp | 12 +++---- lib/CodeGen/RegAlloc/IGNode.h | 43 ++++++++++++-------------- lib/Target/SparcV9/RegAlloc/IGNode.cpp | 12 +++---- lib/Target/SparcV9/RegAlloc/IGNode.h | 43 ++++++++++++-------------- 4 files changed, 50 insertions(+), 60 deletions(-) diff --git a/lib/CodeGen/RegAlloc/IGNode.cpp b/lib/CodeGen/RegAlloc/IGNode.cpp index fcd299b28c6..f883fb13c1d 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::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 nbrs(AdjList); nbrs.insert(nbrs.end(), otherNode->AdjList.begin(), otherNode->AdjList.end()); sort(nbrs.begin(), nbrs.end()); std::vector::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 f8286e22bdc..82f07e0c7e7 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 fcd299b28c6..f883fb13c1d 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::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 nbrs(AdjList); nbrs.insert(nbrs.end(), otherNode->AdjList.begin(), otherNode->AdjList.end()); sort(nbrs.begin(), nbrs.end()); std::vector::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 f8286e22bdc..82f07e0c7e7 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