diff options
author | Chris Lattner <sabre@nondot.org> | 2003-03-20 21:21:05 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-03-20 21:21:05 +0000 |
commit | e33b7968514580c8b7f0c6529ddeeb7537ecfb9b (patch) | |
tree | abbd64983f29b2489130622af369a5ecc3242def | |
parent | 3413d150dcb862e7d4ea675fa53ad32a532ebcbf (diff) |
Add more graph traits specializations for dominator tree nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5751 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/Dominators.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/include/llvm/Analysis/Dominators.h b/include/llvm/Analysis/Dominators.h index 63a84c02ca..7881d82125 100644 --- a/include/llvm/Analysis/Dominators.h +++ b/include/llvm/Analysis/Dominators.h @@ -347,12 +347,12 @@ private: // DominatorTree GraphTraits specialization so the DominatorTree can be // iterable by generic graph iterators. -template <> struct GraphTraits<DominatorTree*> { +template <> struct GraphTraits<DominatorTree::Node*> { typedef DominatorTree::Node NodeType; typedef NodeType::iterator ChildIteratorType; - static NodeType *getEntryNode(DominatorTree *DT) { - return DT->getNode(DT->getRoot()); + static NodeType *getEntryNode(NodeType *N) { + return N; } static inline ChildIteratorType child_begin(NodeType* N) { return N->begin(); @@ -362,6 +362,13 @@ template <> struct GraphTraits<DominatorTree*> { } }; +template <> struct GraphTraits<DominatorTree*> + : public GraphTraits<DominatorTree::Node*> { + static NodeType *getEntryNode(DominatorTree *DT) { + return DT->getNode(DT->getRoot()); + } +}; + //===----------------------------------------------------------------------===// // // DominanceFrontier - Calculate the dominance frontiers for a function. |