From 317a61b2db56f5be5fc7acbe2c81ebac5f15aca7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 11 Sep 2003 16:25:06 +0000 Subject: [PATCH] Get rid of the whole "Node2" business, rename getNode() ->getBlock() to be more descriptive git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8468 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Analysis/Dominators.h | 35 +++++++++++++----------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 17b5efa52a0..ad17535e1e2 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -53,8 +53,7 @@ public: // 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 DomSetType; // Dom set for a bb // Map of dom sets typedef std::map DomSetMapType; @@ -251,11 +250,8 @@ struct ImmediateDominators : public ImmediateDominatorsBase { // // 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 Nodes; void reset(); @@ -263,12 +259,12 @@ protected: 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 Children; public: typedef std::vector::iterator iterator; @@ -279,25 +275,25 @@ public: 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 &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 @@ template <> struct GraphTraits // // DominanceFrontier - Calculate the dominance frontiers for a function. // -class DominanceFrontierBase : public DominatorBase { -public: +struct DominanceFrontierBase : public DominatorBase { typedef std::set DomSetType; // Dom set for a bb typedef std::map DomSetMapType; // Dom set map protected: