LLVM 20.0.0git
Classes | Namespaces | Functions
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.