A node in the call graph.
Declared in <llvm/Analysis/LazyCallGraph.h>
class Node;
This represents a single node. Its primary roles are to cache the list of callees, de-duplicate and provide fast testing of whether a function is a callee, and facilitate iteration of child nodes in the graph.
The node works much like an optional in order to lazily populate the edges of each node. Until populated, there are no edges. Once populated, you can access the edges by dereferencing the node or using the -> operator as if the node was an std::optional<EdgeSequence>.
| Name | Description |
|---|---|
getFunction | Return the function represented by this node. |
getGraph | Return the lazy call graph that owns this node. |
getName | Return the name of the function represented by this node. |
isDead | Tests whether this is actually a dead node and no longer valid. |
isPopulated | Tests whether the node has been populated with edges. |
operator* | Return the populated edge sequence for this node. |
operator-> | Return a pointer to the populated edge sequence for this node. |
populate | Populate the edges of this node if necessary. |
operator== | Equality is defined as address equality. |
operator!= | Return true if this node is not the same object as N. |
| Name | Description |
|---|---|
llvm::operator<< | Print the name of this node's function. |
llvm::LazyCallGraph::RefSCC | A RefSCC of the call graph. |
llvm::LazyCallGraph | A lazily constructed view of the call graph of a module. |