Owen Anderson 2009-06-15: Use a SmallPtrSet here, for speed and to match df_iterator.

Owen Anderson 2009-06-15: Remember to clear out our maps to prevent crashing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73438 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2009-06-15 22:54:48 +00:00
parent a7a8af0c58
commit be24f1b7fb
2 changed files with 18 additions and 8 deletions

View File

@@ -18,6 +18,7 @@
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include <set>
#include <stack>
#include <vector>
@@ -39,9 +40,9 @@ public:
};
template<class GraphT,
class SetType = std::set<typename GraphTraits<GraphT>::NodeType*>,
bool ExtStorage = false,
class GT = GraphTraits<GraphT> >
class SetType = llvm::SmallPtrSet<typename GraphTraits<GraphT>::NodeType*, 8>,
bool ExtStorage = false,
class GT = GraphTraits<GraphT> >
class po_iterator : public forward_iterator<typename GT::NodeType, ptrdiff_t>,
public po_iterator_storage<SetType, ExtStorage> {
typedef forward_iterator<typename GT::NodeType, ptrdiff_t> super;