My Project
Classes | Public Types | Public Member Functions | Friends | List of all members
mlir::CallGraphNode Class Reference

#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...
 
RegiongetCallableRegion () 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
 

Detailed Description

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.

Member Typedef Documentation

◆ iterator

Iterator over the outgoing edges of this node.

Member Function Documentation

◆ addAbstractEdge()

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.

◆ addCallEdge()

void CallGraphNode::addCallEdge ( CallGraphNode node)

Add an outgoing call edge from this node.

◆ addChildEdge()

void CallGraphNode::addChildEdge ( CallGraphNode child)

Adds a reference edge to the given child node.

◆ begin()

iterator mlir::CallGraphNode::begin ( ) const
inline

◆ end()

iterator mlir::CallGraphNode::end ( ) const
inline

◆ getCallableRegion()

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.

◆ hasChildren()

bool CallGraphNode::hasChildren ( ) const

Returns true if this node has any child edges.

◆ isExternal()

bool CallGraphNode::isExternal ( ) const

Returns if this node is the external node.

Returns if this node refers to the indirect/external node.

Friends And Related Function Documentation

◆ CallGraph

friend class CallGraph
friend

The documentation for this class was generated from the following files: