LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
llzk::SymbolUseGraphNode Class Reference

#include <SymbolUseGraph.h>

Public Types

using iterator
 Iterator over predecessors/successors.
 

Public Member Functions

bool isRealNode () const
 Return 'false' iff this node is an artificial node created for the graph head/tail.
 
mlir::ModuleOp getSymbolPathRoot () const
 Return the root ModuleOp for the path.
 
mlir::SymbolRefAttr getSymbolPath () const
 The symbol path+name relative to the closest root ModuleOp.
 
bool isStructParam () const
 Return true iff the symbol is a struct constant parameter name.
 
bool hasPredecessor () const
 Return true if this node has any predecessors.
 
size_t numPredecessors () const
 
bool hasSuccessor () const
 Return true if this node has any successors.
 
size_t numSuccessors () const
 
iterator predecessors_begin () const
 
iterator predecessors_end () const
 
iterator successors_begin () const
 
iterator successors_end () const
 
llvm::iterator_range< iteratorpredecessorIter () const
 Range over predecessor nodes.
 
llvm::iterator_range< iteratorsuccessorIter () const
 Range over successor nodes.
 
mlir::FailureOr< SymbolLookupResultUntypedlookupSymbol (mlir::SymbolTableCollection &tables, bool reportMissing=true) const
 
std::string toString () const
 Print the node in a human readable format.
 
void print (llvm::raw_ostream &os) const
 

Friends

class SymbolUseGraph
 

Detailed Description

Definition at line 26 of file SymbolUseGraph.h.

Member Typedef Documentation

◆ iterator

Initial value:
llvm::filter_iterator<
mlir::SetVector<SymbolUseGraphNode *>::const_iterator, bool (*)(const SymbolUseGraphNode *)>

Iterator over predecessors/successors.

Definition at line 85 of file SymbolUseGraph.h.

Member Function Documentation

◆ getSymbolPath()

mlir::SymbolRefAttr llzk::SymbolUseGraphNode::getSymbolPath ( ) const
inline

The symbol path+name relative to the closest root ModuleOp.

Definition at line 67 of file SymbolUseGraph.h.

◆ getSymbolPathRoot()

mlir::ModuleOp llzk::SymbolUseGraphNode::getSymbolPathRoot ( ) const
inline

Return the root ModuleOp for the path.

Definition at line 64 of file SymbolUseGraph.h.

◆ hasPredecessor()

bool llzk::SymbolUseGraphNode::hasPredecessor ( ) const
inline

Return true if this node has any predecessors.

Definition at line 73 of file SymbolUseGraph.h.

◆ hasSuccessor()

bool llzk::SymbolUseGraphNode::hasSuccessor ( ) const
inline

Return true if this node has any successors.

Definition at line 79 of file SymbolUseGraph.h.

◆ isRealNode()

bool llzk::SymbolUseGraphNode::isRealNode ( ) const
inline

Return 'false' iff this node is an artificial node created for the graph head/tail.

This type of node should only be returned via the GraphTraits.

Definition at line 61 of file SymbolUseGraph.h.

◆ isStructParam()

bool llzk::SymbolUseGraphNode::isStructParam ( ) const
inline

Return true iff the symbol is a struct constant parameter name.

Definition at line 70 of file SymbolUseGraph.h.

◆ lookupSymbol()

FailureOr< SymbolLookupResultUntyped > llzk::SymbolUseGraphNode::lookupSymbol ( mlir::SymbolTableCollection & tables,
bool reportMissing = true ) const

Definition at line 44 of file SymbolUseGraph.cpp.

◆ numPredecessors()

size_t llzk::SymbolUseGraphNode::numPredecessors ( ) const
inline

Definition at line 76 of file SymbolUseGraph.h.

◆ numSuccessors()

size_t llzk::SymbolUseGraphNode::numSuccessors ( ) const
inline

Definition at line 82 of file SymbolUseGraph.h.

◆ predecessorIter()

llvm::iterator_range< iterator > llzk::SymbolUseGraphNode::predecessorIter ( ) const
inline

Range over predecessor nodes.

Definition at line 94 of file SymbolUseGraph.h.

◆ predecessors_begin()

iterator llzk::SymbolUseGraphNode::predecessors_begin ( ) const
inline

Definition at line 88 of file SymbolUseGraph.h.

◆ predecessors_end()

iterator llzk::SymbolUseGraphNode::predecessors_end ( ) const
inline

Definition at line 89 of file SymbolUseGraph.h.

◆ print()

void llzk::SymbolUseGraphNode::print ( llvm::raw_ostream & os) const

Definition at line 207 of file SymbolUseGraph.cpp.

◆ successorIter()

llvm::iterator_range< iterator > llzk::SymbolUseGraphNode::successorIter ( ) const
inline

Range over successor nodes.

Definition at line 99 of file SymbolUseGraph.h.

◆ successors_begin()

iterator llzk::SymbolUseGraphNode::successors_begin ( ) const
inline

Definition at line 90 of file SymbolUseGraph.h.

◆ successors_end()

iterator llzk::SymbolUseGraphNode::successors_end ( ) const
inline

Definition at line 91 of file SymbolUseGraph.h.

◆ toString()

std::string llzk::SymbolUseGraphNode::toString ( ) const

Print the node in a human readable format.

Definition at line 188 of file SymbolUseGraph.cpp.

Friends And Related Symbol Documentation

◆ SymbolUseGraph

friend class SymbolUseGraph
friend

Definition at line 56 of file SymbolUseGraph.h.


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