|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
This file contains the implementations for symbol helper functions. More...
#include "llzk/Util/SymbolHelper.h"#include "llzk/Dialect/Array/IR/Ops.h"#include "llzk/Dialect/Felt/IR/Attrs.h"#include "llzk/Dialect/Felt/IR/Types.h"#include "llzk/Dialect/Function/IR/Ops.h"#include "llzk/Dialect/Global/IR/Ops.h"#include "llzk/Dialect/Polymorphic/IR/Ops.h"#include "llzk/Dialect/Polymorphic/IR/Types.h"#include "llzk/Dialect/Verif/IR/Ops.h"#include "llzk/Util/SymbolLookup.h"#include "llzk/Util/SymbolTableLLZK.h"#include "llzk/Util/TypeHelper.h"#include <mlir/AsmParser/AsmParser.h>#include <mlir/IR/BuiltinOps.h>#include <mlir/IR/BuiltinTypes.h>#include <mlir/IR/Operation.h>#include <llvm/ADT/TypeSwitch.h>#include <llvm/Support/Debug.h>#include <algorithm>Go to the source code of this file.
Namespaces | |
| namespace | llzk |
Macros | |
| #define | DEBUG_TYPE "llzk-symbol-helpers" |
Functions | |
| void | llzk::eraseEmptyNestedModules (ModuleOp rootModule) |
| llvm::SmallVector< StringRef > | llzk::getNames (SymbolRefAttr ref) |
| llvm::SmallVector< FlatSymbolRefAttr > | llzk::getPieces (SymbolRefAttr ref) |
| SymbolRefAttr | llzk::replaceLeaf (SymbolRefAttr orig, FlatSymbolRefAttr newLeaf) |
| SymbolRefAttr | llzk::appendLeaf (SymbolRefAttr orig, FlatSymbolRefAttr newLeaf) |
| SymbolRefAttr | llzk::appendLeafName (SymbolRefAttr orig, const Twine &newLeafSuffix) |
| FailureOr< SymbolRefAttr > | llzk::getPathRelativeToAncestor (SymbolOpInterface symbol, ModuleOp ancestor, llvm::function_ref< InFlightDiagnostic()> emitError) |
| FailureOr< ModuleOp > | llzk::getRootModule (Operation *from) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromRoot (SymbolOpInterface to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromRoot (TemplateOp &to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromRoot (StructDefOp &to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromRoot (MemberDefOp &to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromRoot (FuncDefOp &to, ModuleOp *foundRoot) |
| FailureOr< ModuleOp > | llzk::getTopRootModule (Operation *from) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromTopRoot (SymbolOpInterface to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromTopRoot (TemplateOp &to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromTopRoot (StructDefOp &to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromTopRoot (MemberDefOp &to, ModuleOp *foundRoot) |
| FailureOr< SymbolRefAttr > | llzk::getPathFromTopRoot (FuncDefOp &to, ModuleOp *foundRoot) |
| FailureOr< StructType > | llzk::getMainInstanceType (Operation *lookupFrom) |
| FailureOr< SymbolLookupResult< StructDefOp > > | llzk::getMainInstanceDef (SymbolTableCollection &symbolTable, Operation *lookupFrom) |
| FailureOr< SymbolLookupResult< StructDefOp > > | llzk::getRootStructDef (SymbolTableCollection &tables, Operation *lookupFrom, StringRef symbolPath) |
| FailureOr< TemplateOp > | llzk::getConstResolutionTemplate (SymbolTableCollection &tables, Operation *origin) |
| LogicalResult | llzk::verifyTemplateParamSymbol (SymbolTableCollection &tables, SymbolRefAttr symbol, Operation *origin) |
| LogicalResult | llzk::verifyTemplateParamValueCompatibility (Operation *origin, Attribute value, TemplateParamOp targetParam) |
| LogicalResult | llzk::verifyTemplateParamValuesCompatibility (Operation *origin, ArrayAttr explicitParams, llvm::iterator_range< Region::op_iterator< TemplateParamOp > > targetParamDefs) |
| LogicalResult | llzk::verifyTemplateParamsMatchInferred (Operation *origin, ArrayAttr explicitParams, llvm::iterator_range< Region::op_iterator< TemplateParamOp > > targetParamDefs, const UnificationMap &unifications) |
| LogicalResult | llzk::verifyParamOfType (SymbolTableCollection &tables, SymbolRefAttr param, Type parameterizedType, Operation *origin, std::optional< Type > requiredParamType) |
| LogicalResult | llzk::verifyParamsOfType (SymbolTableCollection &tables, ArrayRef< Attribute > tyParams, Type parameterizedType, Operation *origin, std::optional< Type > requiredParamType) |
| FailureOr< StructDefOp > | llzk::verifyStructTypeResolution (SymbolTableCollection &tables, StructType ty, Operation *origin) |
| LogicalResult | llzk::verifyTypeResolution (SymbolTableCollection &tables, Operation *origin, Type ty) |
This file contains the implementations for symbol helper functions.
Definition in file SymbolHelper.cpp.
| #define DEBUG_TYPE "llzk-symbol-helpers" |
Definition at line 39 of file SymbolHelper.cpp.