LLVM 22.0.0git
llvm::LazyCallGraph::postorder_ref_scc_iterator Class Reference

A post-order depth-first RefSCC iterator over the call graph. More...

#include "llvm/Analysis/LazyCallGraph.h"

Inheritance diagram for llvm::LazyCallGraph::postorder_ref_scc_iterator:
[legend]

Public Member Functions

bool operator== (const postorder_ref_scc_iterator &Arg) const
reference operator* () const
postorder_ref_scc_iteratoroperator++ ()
DerivedT operator++ (int)
Public Member Functions inherited from llvm::iterator_facade_base< postorder_ref_scc_iterator, std::forward_iterator_tag, RefSCC >
postorder_ref_scc_iterator operator+ (std::ptrdiff_t n) const
postorder_ref_scc_iterator operator- (std::ptrdiff_t n) const
postorder_ref_scc_iterator & operator++ ()
postorder_ref_scc_iterator & operator-- ()
bool operator!= (const postorder_ref_scc_iterator &RHS) const
bool operator> (const postorder_ref_scc_iterator &RHS) const
bool operator<= (const postorder_ref_scc_iterator &RHS) const
bool operator>= (const postorder_ref_scc_iterator &RHS) const
PointerProxy operator-> () const
ReferenceProxy operator[] (std::ptrdiff_t n) const

Friends

class LazyCallGraph
class LazyCallGraph::Node

Additional Inherited Members

Public Types inherited from llvm::iterator_facade_base< postorder_ref_scc_iterator, std::forward_iterator_tag, RefSCC >
using iterator_category
using value_type
using difference_type
using pointer
using reference
Protected Types inherited from llvm::iterator_facade_base< postorder_ref_scc_iterator, std::forward_iterator_tag, RefSCC >
enum  

Detailed Description

A post-order depth-first RefSCC iterator over the call graph.

This iterator walks the cached post-order sequence of RefSCCs. However, it trades stability for flexibility. It is restricted to a forward iterator but will survive mutations which insert new RefSCCs and continue to point to the same RefSCC even if it moves in the post-order sequence.

Definition at line 878 of file LazyCallGraph.h.

Member Function Documentation

◆ operator*()

reference llvm::LazyCallGraph::postorder_ref_scc_iterator::operator* ( ) const
inline

Definition at line 924 of file LazyCallGraph.h.

◆ operator++() [1/2]

postorder_ref_scc_iterator & llvm::LazyCallGraph::postorder_ref_scc_iterator::operator++ ( )
inline

Definition at line 927 of file LazyCallGraph.h.

◆ operator++() [2/2]

DerivedT llvm::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::operator++ ( int )
inline

Definition at line 159 of file iterator.h.

◆ operator==()

bool llvm::LazyCallGraph::postorder_ref_scc_iterator::operator== ( const postorder_ref_scc_iterator & Arg) const
inline

Definition at line 920 of file LazyCallGraph.h.

◆ LazyCallGraph

friend class LazyCallGraph
friend

Definition at line 881 of file LazyCallGraph.h.

References LazyCallGraph.

Referenced by LazyCallGraph.

◆ LazyCallGraph::Node

friend class LazyCallGraph::Node
friend

Definition at line 882 of file LazyCallGraph.h.


The documentation for this class was generated from the following file: