llvm::LazyCallGraph::EdgeSequence

The edge sequence object.

Synopsis

Declared in <llvm/Analysis/LazyCallGraph.h>

class EdgeSequence;

Description

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).

Types

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

Member Functions

NameDescription
begin Return an iterator to the first live edge.
call_begin Return an iterator to the first call edge.
call_end Return an iterator past the last call edge.
calls Return a range over the call edges in this sequence.
empty Return true if this sequence has no live edges.
end Return an iterator past the last live edge.
lookup Return a pointer to the edge targeting N, or null if none exists.
operator[] Return the edge targeting node N.

Friends

NameDescription
llvm::LazyCallGraph::RefSCCA RefSCC of the call graph.
llvm::LazyCallGraph::NodeA node in the call graph.
llvm::LazyCallGraphA lazily constructed view of the call graph of a module.