My Project
|
#include <CallGraph.h>
Classes | |
class | Edge |
This class represents a directed edge between two nodes in the callgraph. More... | |
Public Types | |
using | iterator = SmallVectorImpl< Edge >::const_iterator |
Iterator over the outgoing edges of this node. More... | |
Public Member Functions | |
bool | isExternal () const |
Returns if this node is the external node. More... | |
Region * | getCallableRegion () const |
void | addAbstractEdge (CallGraphNode *node) |
void | addCallEdge (CallGraphNode *node) |
Add an outgoing call edge from this node. More... | |
void | addChildEdge (CallGraphNode *child) |
Adds a reference edge to the given child node. More... | |
iterator | begin () const |
iterator | end () const |
bool | hasChildren () const |
Returns true if this node has any child edges. More... | |
Friends | |
class | CallGraph |
This class represents a single callable in the callgraph. Aside from the external node, each node represents a callable node in the graph and contains a valid corresponding Region. The external node is a virtual node used to represent external edges into, and out of, the callgraph.
using mlir::CallGraphNode::iterator = SmallVectorImpl<Edge>::const_iterator |
Iterator over the outgoing edges of this node.
void CallGraphNode::addAbstractEdge | ( | CallGraphNode * | node | ) |
Adds an abstract reference edge to the given node. An abstract edge does not come from any observable operations, so this is only valid on the external node.
Adds an reference edge to the given node. This is only valid on the external node.
void CallGraphNode::addCallEdge | ( | CallGraphNode * | node | ) |
Add an outgoing call edge from this node.
void CallGraphNode::addChildEdge | ( | CallGraphNode * | child | ) |
Adds a reference edge to the given child node.
|
inline |
|
inline |
Region * CallGraphNode::getCallableRegion | ( | ) | const |
Returns the callable region this node represents. This can only be called on non-external nodes.
Return the callable region this node represents. This can only be called on non-external nodes.
bool CallGraphNode::hasChildren | ( | ) | const |
Returns true if this node has any child edges.
bool CallGraphNode::isExternal | ( | ) | const |
Returns if this node is the external node.
Returns if this node refers to the indirect/external node.
|
friend |