The edge sequence object.
Declared in <llvm/Analysis/LazyCallGraph.h>
class EdgeSequence;
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).
| Name | Description |
|---|---|
call_iterator | An iterator over specifically call edges. |
iterator | An iterator used for the edges to both entry nodes and child nodes. |
| Name | Description |
|---|---|
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. |
| Name | Description |
|---|---|
llvm::LazyCallGraph::RefSCC | A RefSCC of the call graph. |
llvm::LazyCallGraph::Node | A node in the call graph. |
llvm::LazyCallGraph | A lazily constructed view of the call graph of a module. |