LLVM 22.0.0git
PostOrderIterator.h File Reference

This file builds on the ADT/GraphTraits.h file to build a generic graph post order iterator. More...

#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator_range.h"
#include <iterator>
#include <optional>
#include <set>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

class  llvm::po_iterator_storage< SetType, External >
 Default po_iterator_storage implementation with an internal set object. More...
class  llvm::po_iterator_storage< SetType, true >
 Specialization of po_iterator_storage that references an external set. More...
class  llvm::po_iterator< GraphT, SetType, ExtStorage, GT >
struct  llvm::po_ext_iterator< T, SetType >
struct  llvm::ipo_iterator< T, SetType, External >
struct  llvm::ipo_ext_iterator< T, SetType >
class  llvm::ReversePostOrderTraversal< GraphT, GT >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Functions

template<class T>
po_iterator< Tllvm::po_begin (const T &G)
template<class T>
po_iterator< Tllvm::po_end (const T &G)
template<class T>
iterator_range< po_iterator< T > > llvm::post_order (const T &G)
template<class T, class SetType>
po_ext_iterator< T, SetType > llvm::po_ext_begin (T G, SetType &S)
template<class T, class SetType>
po_ext_iterator< T, SetType > llvm::po_ext_end (T G, SetType &S)
template<class T, class SetType>
iterator_range< po_ext_iterator< T, SetType > > llvm::post_order_ext (const T &G, SetType &S)
template<class T>
ipo_iterator< Tllvm::ipo_begin (const T &G)
template<class T>
ipo_iterator< Tllvm::ipo_end (const T &G)
template<class T>
iterator_range< ipo_iterator< T > > llvm::inverse_post_order (const T &G)
template<class T, class SetType>
ipo_ext_iterator< T, SetType > llvm::ipo_ext_begin (const T &G, SetType &S)
template<class T, class SetType>
ipo_ext_iterator< T, SetType > llvm::ipo_ext_end (const T &G, SetType &S)
template<class T, class SetType>
iterator_range< ipo_ext_iterator< T, SetType > > llvm::inverse_post_order_ext (const T &G, SetType &S)

Detailed Description

This file builds on the ADT/GraphTraits.h file to build a generic graph post order iterator.

This should work over any graph type that has a GraphTraits specialization.

Definition in file PostOrderIterator.h.