class LazyCallGraph::EdgeSequence
Declaration
class LazyCallGraph::EdgeSequence { /* full declaration omitted */ };
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).
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:182
Member Variables
- private llvm::LazyCallGraph::EdgeSequence::VectorT Edges
- private DenseMap<llvm::LazyCallGraph::Node*, int> EdgeIndexMap
Method Overview
- private EdgeSequence()
- public llvm::LazyCallGraph::EdgeSequence::iterator begin()
- public llvm::LazyCallGraph::EdgeSequence::call_iterator call_begin()
- public llvm::LazyCallGraph::EdgeSequence::call_iterator call_end()
- public iterator_range<llvm::LazyCallGraph::EdgeSequence::call_iterator> calls()
- public bool empty()
- public llvm::LazyCallGraph::EdgeSequence::iterator end()
- private void insertEdgeInternal(llvm::LazyCallGraph::Node & ChildN, Edge::Kind EK)
- public llvm::LazyCallGraph::Edge * lookup(llvm::LazyCallGraph::Node & N)
- private bool removeEdgeInternal(llvm::LazyCallGraph::Node & ChildN)
- private void setEdgeKind(llvm::LazyCallGraph::Node & ChildN, Edge::Kind EK)
Methods
¶EdgeSequence()
EdgeSequence()
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:293
¶llvm::LazyCallGraph::EdgeSequence::iterator
begin()
llvm::LazyCallGraph::EdgeSequence::iterator
begin()
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:254
¶llvm::LazyCallGraph::EdgeSequence::call_iterator
call_begin()
llvm::LazyCallGraph::EdgeSequence::call_iterator
call_begin()
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:272
¶llvm::LazyCallGraph::EdgeSequence::call_iterator
call_end()
llvm::LazyCallGraph::EdgeSequence::call_iterator
call_end()
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:275
¶iterator_range<llvm::LazyCallGraph::EdgeSequence::
call_iterator>
calls()
iterator_range<llvm::LazyCallGraph::EdgeSequence::
call_iterator>
calls()
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:277
¶bool empty()
bool empty()
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:281
¶llvm::LazyCallGraph::EdgeSequence::iterator end()
llvm::LazyCallGraph::EdgeSequence::iterator end()
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:255
¶void insertEdgeInternal(
llvm::LazyCallGraph::Node& ChildN,
Edge::Kind EK)
void insertEdgeInternal(
llvm::LazyCallGraph::Node& ChildN,
Edge::Kind EK)
Description
Internal helper to insert an edge to a node.
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:296
Parameters
- llvm::LazyCallGraph::Node& ChildN
- Edge::Kind EK
¶llvm::LazyCallGraph::Edge* lookup(
llvm::LazyCallGraph::Node& N)
llvm::LazyCallGraph::Edge* lookup(
llvm::LazyCallGraph::Node& N)
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:264
Parameters
¶bool removeEdgeInternal(
llvm::LazyCallGraph::Node& ChildN)
bool removeEdgeInternal(
llvm::LazyCallGraph::Node& ChildN)
Description
Internal helper to remove the edge to the given function.
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:302
Parameters
- llvm::LazyCallGraph::Node& ChildN
¶void setEdgeKind(
llvm::LazyCallGraph::Node& ChildN,
Edge::Kind EK)
void setEdgeKind(
llvm::LazyCallGraph::Node& ChildN,
Edge::Kind EK)
Description
Internal helper to change an edge kind.
Declared at: llvm/include/llvm/Analysis/LazyCallGraph.h:299
Parameters
- llvm::LazyCallGraph::Node& ChildN
- Edge::Kind EK