[llvm-commits] CVS: llvm/include/llvm/Analysis/Dominators.h

Chris Lattner lattner at cs.uiuc.edu
Thu Sep 11 11:26:03 PDT 2003


Changes in directory llvm/include/llvm/Analysis:

Dominators.h updated: 1.38 -> 1.39

---
Log message:

Get rid of the whole "Node2" business, rename getNode() ->getBlock() to
be more descriptive


---
Diffs of the changes:

Index: llvm/include/llvm/Analysis/Dominators.h
diff -u llvm/include/llvm/Analysis/Dominators.h:1.38 llvm/include/llvm/Analysis/Dominators.h:1.39
--- llvm/include/llvm/Analysis/Dominators.h:1.38	Wed Sep 10 15:36:51 2003
+++ llvm/include/llvm/Analysis/Dominators.h	Thu Sep 11 11:25:06 2003
@@ -53,8 +53,7 @@
 // is unreachable in this function, the set will be empty.  This cannot happen
 // for reachable code, because every block dominates at least itself.
 //
-class DominatorSetBase : public DominatorBase {
-public:
+struct DominatorSetBase : public DominatorBase {
   typedef std::set<BasicBlock*> DomSetType;    // Dom set for a bb
   // Map of dom sets
   typedef std::map<BasicBlock*, DomSetType> DomSetMapType;
@@ -251,11 +250,8 @@
 //
 // DominatorTree - Calculate the immediate dominator tree for a function.
 //
-class DominatorTreeBase : public DominatorBase {
-protected:
-  class Node2;
-public:
-  typedef Node2 Node;
+struct DominatorTreeBase : public DominatorBase {
+  class Node;
 protected:
   std::map<BasicBlock*, Node*> Nodes;
   void reset();
@@ -263,12 +259,12 @@
 
   Node *RootNode;
 public:
-  class Node2 {
+  class Node {
     friend class DominatorTree;
     friend class PostDominatorTree;
     friend class DominatorTreeBase;
-    BasicBlock *TheNode;
-    Node2 *IDom;
+    BasicBlock *TheBB;
+    Node *IDom;
     std::vector<Node*> Children;
   public:
     typedef std::vector<Node*>::iterator iterator;
@@ -279,25 +275,25 @@
     const_iterator begin() const { return Children.begin(); }
     const_iterator end()   const { return Children.end(); }
 
-    inline BasicBlock *getNode() const { return TheNode; }
-    inline Node2 *getIDom() const { return IDom; }
+    inline BasicBlock *getBlock() const { return TheBB; }
+    inline Node *getIDom() const { return IDom; }
     inline const std::vector<Node*> &getChildren() const { return Children; }
 
     // dominates - Returns true iff this dominates N.  Note that this is not a 
     // constant time operation!
-    inline bool dominates(const Node2 *N) const {
-      const Node2 *IDom;
+    inline bool dominates(const Node *N) const {
+      const Node *IDom;
       while ((IDom = N->getIDom()) != 0 && IDom != this)
 	N = IDom;   // Walk up the tree
       return IDom != 0;
     }
 
   private:
-    inline Node2(BasicBlock *node, Node *iDom) 
-      : TheNode(node), IDom(iDom) {}
-    inline Node2 *addChild(Node *C) { Children.push_back(C); return C; }
+    inline Node(BasicBlock *BB, Node *iDom) 
+      : TheBB(BB), IDom(iDom) {}
+    inline Node *addChild(Node *C) { Children.push_back(C); return C; }
 
-    void setIDom(Node2 *NewIDom);
+    void setIDom(Node *NewIDom);
   };
 
 public:
@@ -413,8 +409,7 @@
 //
 // DominanceFrontier - Calculate the dominance frontiers for a function.
 //
-class DominanceFrontierBase : public DominatorBase {
-public:
+struct DominanceFrontierBase : public DominatorBase {
   typedef std::set<BasicBlock*>             DomSetType;    // Dom set for a bb
   typedef std::map<BasicBlock*, DomSetType> DomSetMapType; // Dom set map
 protected:





More information about the llvm-commits mailing list