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

The edge sequence object. More...

#include "llvm/Analysis/LazyCallGraph.h"

Classes

class  call_iterator
 An iterator over specifically call edges. More...
 
class  iterator
 An iterator used for the edges to both entry nodes and child nodes. More...
 

Public Member Functions

iterator begin ()
 
iterator end ()
 
Edgeoperator[] (int i)
 
Edgeoperator[] (Node &N)
 
Edgelookup (Node &N)
 
call_iterator call_begin ()
 
call_iterator call_end ()
 
iterator_range< call_iteratorcalls ()
 
bool empty ()
 

Friends

class LazyCallGraph
 
class LazyCallGraph::Node
 
class LazyCallGraph::RefSCC
 

Detailed Description

The edge sequence object.

This typically exists entirely within the node but is exposed as a separate type because a node doesn't initially have edges. An explicit population step is required to produce this sequence at first and it is then cached in the node. It is also used to represent edges entering the graph from outside the module to model the graph's roots.

The sequence itself both iterable and indexable. The indexes remain stable even as the sequence mutates (including removal).

Definition at line 186 of file LazyCallGraph.h.

Member Function Documentation

◆ begin()

iterator llvm::LazyCallGraph::EdgeSequence::begin ( )
inline

◆ call_begin()

call_iterator llvm::LazyCallGraph::EdgeSequence::call_begin ( )
inline

Definition at line 277 of file LazyCallGraph.h.

◆ call_end()

call_iterator llvm::LazyCallGraph::EdgeSequence::call_end ( )
inline

Definition at line 280 of file LazyCallGraph.h.

◆ calls()

iterator_range<call_iterator> llvm::LazyCallGraph::EdgeSequence::calls ( )
inline

Definition at line 282 of file LazyCallGraph.h.

References llvm::make_range().

Referenced by llvm::LazyCallGraph::SCC::isParentOf().

◆ empty()

bool llvm::LazyCallGraph::EdgeSequence::empty ( )
inline

Definition at line 286 of file LazyCallGraph.h.

Referenced by llvm::LazyCallGraph::buildRefSCCs().

◆ end()

iterator llvm::LazyCallGraph::EdgeSequence::end ( )
inline

◆ lookup()

Edge* llvm::LazyCallGraph::EdgeSequence::lookup ( Node N)
inline

Definition at line 269 of file LazyCallGraph.h.

References E.

◆ operator[]() [1/2]

Edge& llvm::LazyCallGraph::EdgeSequence::operator[] ( int  i)
inline

Definition at line 261 of file LazyCallGraph.h.

◆ operator[]() [2/2]

Edge& llvm::LazyCallGraph::EdgeSequence::operator[] ( Node N)
inline

Definition at line 262 of file LazyCallGraph.h.

References assert(), and E.

Friends And Related Function Documentation

◆ LazyCallGraph

friend class LazyCallGraph
friend

Definition at line 187 of file LazyCallGraph.h.

◆ LazyCallGraph::Node

friend class LazyCallGraph::Node
friend

Definition at line 188 of file LazyCallGraph.h.

◆ LazyCallGraph::RefSCC

friend class LazyCallGraph::RefSCC
friend

Definition at line 189 of file LazyCallGraph.h.


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