LLVM 20.0.0git
|
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< T > | llvm::po_begin (const T &G) |
template<class T > | |
po_iterator< T > | llvm::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< T > | llvm::ipo_begin (const T &G) |
template<class T > | |
ipo_iterator< T > | llvm::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) |
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.