LLVM  3.7.0
Classes | Public Member Functions | Friends | List of all members
llvm::LazyCallGraph::postorder_scc_iterator Class Reference

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

#include <LazyCallGraph.h>

Inheritance diagram for llvm::LazyCallGraph::postorder_scc_iterator:
[legend]
Collaboration diagram for llvm::LazyCallGraph::postorder_scc_iterator:
[legend]

Public Member Functions

bool operator== (const postorder_scc_iterator &Arg) const
 
reference operator* () const
 
postorder_scc_iteratoroperator++ ()
 
- Public Member Functions inherited from llvm::iterator_facade_base< postorder_scc_iterator, std::forward_iterator_tag, SCC >
postorder_scc_iterator operator+ (std::ptrdiff_tn) const
 
postorder_scc_iterator operator- (std::ptrdiff_tn) const
 
postorder_scc_iterator & operator++ ()
 
postorder_scc_iterator operator++ (int)
 
postorder_scc_iterator & operator-- ()
 
postorder_scc_iterator operator-- (int)
 
bool operator!= (const postorder_scc_iterator &RHS) const
 
bool operator> (const postorder_scc_iterator &RHS) const
 
bool operator<= (const postorder_scc_iterator &RHS) const
 
bool operator>= (const postorder_scc_iterator &RHS) const
 
SCC * operator-> () const
 
SCC & operator[] (std::ptrdiff_tn) const
 

Friends

class LazyCallGraph
 
class LazyCallGraph::Node
 

Additional Inherited Members

- Protected Types inherited from llvm::iterator_facade_base< postorder_scc_iterator, std::forward_iterator_tag, SCC >
enum  
 

Detailed Description

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

This iterator triggers the Tarjan DFS-based formation of the SCC DAG for the call graph, walking it lazily in depth-first post-order. That is, it always visits SCCs for a callee prior to visiting the SCC for a caller (when they are in different SCCs).

Definition at line 355 of file LazyCallGraph.h.

Member Function Documentation

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

Definition at line 381 of file LazyCallGraph.h.

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

Definition at line 384 of file LazyCallGraph.h.

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

Definition at line 377 of file LazyCallGraph.h.

Friends And Related Function Documentation

friend class LazyCallGraph
friend

Definition at line 358 of file LazyCallGraph.h.

friend class LazyCallGraph::Node
friend

Definition at line 359 of file LazyCallGraph.h.


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