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.
 
const OpSet & getUserOps () const
 The set of operations that use the symbol.
 
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 (bool showLocations=false) const
 Print the node in a human readable format.
 
void print (llvm::raw_ostream &os, bool showLocations=false, std::string locationLinePrefix="") const
 

Friends

class SymbolUseGraph
 

Detailed Description

Definition at line 27 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 92 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 71 of file SymbolUseGraph.h.

◆ getSymbolPathRoot()

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

Return the root ModuleOp for the path.

Definition at line 68 of file SymbolUseGraph.h.

◆ getUserOps()

const OpSet & llzk::SymbolUseGraphNode::getUserOps ( ) const
inline

The set of operations that use the symbol.

Definition at line 74 of file SymbolUseGraph.h.

◆ hasPredecessor()

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

Return true if this node has any predecessors.

Definition at line 80 of file SymbolUseGraph.h.

◆ hasSuccessor()

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

Return true if this node has any successors.

Definition at line 86 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 65 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 77 of file SymbolUseGraph.h.

◆ lookupSymbol()

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

Definition at line 46 of file SymbolUseGraph.cpp.

◆ numPredecessors()

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

Definition at line 83 of file SymbolUseGraph.h.

◆ numSuccessors()

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

Definition at line 89 of file SymbolUseGraph.h.

◆ predecessorIter()

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

Range over predecessor nodes.

Definition at line 101 of file SymbolUseGraph.h.

◆ predecessors_begin()

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

Definition at line 95 of file SymbolUseGraph.h.

◆ predecessors_end()

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

Definition at line 96 of file SymbolUseGraph.h.

◆ print()

void llzk::SymbolUseGraphNode::print ( llvm::raw_ostream & os,
bool showLocations = false,
std::string locationLinePrefix = "" ) const

Definition at line 217 of file SymbolUseGraph.cpp.

◆ successorIter()

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

Range over successor nodes.

Definition at line 106 of file SymbolUseGraph.h.

◆ successors_begin()

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

Definition at line 97 of file SymbolUseGraph.h.

◆ successors_end()

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

Definition at line 98 of file SymbolUseGraph.h.

◆ toString()

std::string llzk::SymbolUseGraphNode::toString ( bool showLocations = false) const

Print the node in a human readable format.

Definition at line 196 of file SymbolUseGraph.cpp.

Friends And Related Symbol Documentation

◆ SymbolUseGraph

friend class SymbolUseGraph
friend

Definition at line 60 of file SymbolUseGraph.h.


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