From 6709c7bcdacfc3cc07bc0c47d3a3f9b47c699d3a Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Wed, 18 Aug 2010 19:00:05 +0000 Subject: [PATCH] Add df_iterator::getPathLength and getPath as a way of getting a path from the entry node to the current node. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111392 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/DepthFirstIterator.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/llvm/ADT/DepthFirstIterator.h b/include/llvm/ADT/DepthFirstIterator.h index 5f2df2a17e4..b9e5cbdf8c6 100644 --- a/include/llvm/ADT/DepthFirstIterator.h +++ b/include/llvm/ADT/DepthFirstIterator.h @@ -183,6 +183,16 @@ public: inline bool nodeVisited(NodeType *Node) const { return this->Visited.count(Node) != 0; } + + /// getPathLength - Return the length of the path from the entry node to the + /// current node, counting both nodes. + unsigned getPathLength() const { return VisitStack.size(); } + + /// getPath - Return the n'th node in the path from the the entry node to the + /// current node. + NodeType *getPath(unsigned n) const { + return VisitStack[n].first.getPointer(); + } }; -- 2.34.1