|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
#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. | |
| const OpSet & | getUserOps () const |
| The set of operations that use the symbol. | |
| bool | isTemplateSymbolBinding () const |
| Return true iff the symbol is a defined by a TemplateSymbolBindingOpInterface. | |
| 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< iterator > | predecessorIter () const |
| Range over predecessor nodes. | |
| llvm::iterator_range< iterator > | successorIter () const |
| Range over successor nodes. | |
| mlir::FailureOr< SymbolLookupResultUntyped > | lookupSymbol (mlir::SymbolTableCollection &tables, bool reportMissing=true) const |
| std::string | toString (bool showLocations=false) const |
| Print the node in a human readable format. | |
| void | print (llvm::raw_ostream &os, bool showLocations=false, const std::string &locationLinePrefix="") const |
Friends | |
| class | SymbolUseGraph |
Definition at line 27 of file SymbolUseGraph.h.
Iterator over predecessors/successors.
Definition at line 93 of file SymbolUseGraph.h.
|
inline |
The symbol path+name relative to the closest root ModuleOp.
Definition at line 72 of file SymbolUseGraph.h.
|
inline |
Return the root ModuleOp for the path.
Definition at line 69 of file SymbolUseGraph.h.
|
inline |
The set of operations that use the symbol.
Definition at line 75 of file SymbolUseGraph.h.
|
inline |
Return true if this node has any predecessors.
Definition at line 81 of file SymbolUseGraph.h.
|
inline |
Return true if this node has any successors.
Definition at line 87 of file SymbolUseGraph.h.
|
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 66 of file SymbolUseGraph.h.
|
inline |
Return true iff the symbol is a defined by a TemplateSymbolBindingOpInterface.
Definition at line 78 of file SymbolUseGraph.h.
| FailureOr< SymbolLookupResultUntyped > llzk::SymbolUseGraphNode::lookupSymbol | ( | mlir::SymbolTableCollection & | tables, |
| bool | reportMissing = true ) const |
Definition at line 48 of file SymbolUseGraph.cpp.
|
inline |
Definition at line 84 of file SymbolUseGraph.h.
|
inline |
Definition at line 90 of file SymbolUseGraph.h.
|
inline |
Range over predecessor nodes.
Definition at line 102 of file SymbolUseGraph.h.
|
inline |
Definition at line 96 of file SymbolUseGraph.h.
|
inline |
Definition at line 97 of file SymbolUseGraph.h.
| void llzk::SymbolUseGraphNode::print | ( | llvm::raw_ostream & | os, |
| bool | showLocations = false, | ||
| const std::string & | locationLinePrefix = "" ) const |
Definition at line 221 of file SymbolUseGraph.cpp.
|
inline |
Range over successor nodes.
Definition at line 107 of file SymbolUseGraph.h.
|
inline |
Definition at line 98 of file SymbolUseGraph.h.
|
inline |
Definition at line 99 of file SymbolUseGraph.h.
| std::string llzk::SymbolUseGraphNode::toString | ( | bool | showLocations = false | ) | const |
Print the node in a human readable format.
Definition at line 200 of file SymbolUseGraph.cpp.
|
friend |
Definition at line 61 of file SymbolUseGraph.h.