diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 34d027d03b0..a7f5fcbaaec 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -59,13 +59,16 @@ public: //===----------------------------------------------------------------------===// // DomTreeNode - Dominator Tree Node - +class DominatorTreeBase; +class PostDominatorTree; class DomTreeNode { BasicBlock *TheBB; DomTreeNode *IDom; std::vector Children; int DFSNumIn, DFSNumOut; + friend class DominatorTreeBase; + friend class PostDominatorTree; public: typedef std::vector::iterator iterator; typedef std::vector::const_iterator const_iterator; @@ -84,6 +87,7 @@ public: inline DomTreeNode *addChild(DomTreeNode *C) { Children.push_back(C); return C; } void setIDom(DomTreeNode *NewIDom); +private: // Return true if this node is dominated by other. Use this only if DFS info is valid. bool DominatedBy(const DomTreeNode *other) const { return this->DFSNumIn >= other->DFSNumIn &&