LLVM  14.0.0git
Classes | Public Member Functions | Friends | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for llvm::LazyCallGraph::postorder_ref_scc_iterator:
Collaboration graph
[legend]

Public Member Functions

bool operator== (const postorder_ref_scc_iterator &Arg) const
 
reference operator* () const
 
postorder_ref_scc_iteratoroperator++ ()
 
DerivedT & operator++ ()
 
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++ (int)
 
postorder_ref_scc_iterator & operator-- ()
 
postorder_ref_scc_iterator operator-- (int)
 
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-> ()
 
PointerProxy operator-> () const
 
ReferenceProxy operator[] (std::ptrdiff_t n)
 
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 = std::forward_iterator_tag
 
using value_type = RefSCC
 
using difference_type = std::ptrdiff_t
 
using pointer = RefSCC *
 
using reference = RefSCC &
 
- 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 873 of file LazyCallGraph.h.

Member Function Documentation

◆ operator*()

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

Definition at line 906 of file LazyCallGraph.h.

◆ operator++() [1/3]

DerivedT& llvm::iterator_facade_base< DerivedT, IteratorCategoryT, T, DifferenceTypeT, PointerT, ReferenceT >::operator++
inline

Definition at line 140 of file iterator.h.

◆ operator++() [2/3]

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

Definition at line 909 of file LazyCallGraph.h.

References assert(), and G.

◆ operator++() [3/3]

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

Definition at line 145 of file iterator.h.

◆ operator==()

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

Definition at line 902 of file LazyCallGraph.h.

References Arg, and G.

Friends And Related Function Documentation

◆ LazyCallGraph

friend class LazyCallGraph
friend

Definition at line 876 of file LazyCallGraph.h.

◆ LazyCallGraph::Node

friend class LazyCallGraph::Node
friend

Definition at line 877 of file LazyCallGraph.h.


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