|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
Namespaces | |
| namespace | detail |
| Common interface for operations that read or write from a struct member. | |
| namespace | impl |
Classes | |
| class | CreateStructOp |
| class | CreateStructOpAdaptor |
| class | CreateStructOpGenericAdaptor |
| struct | ExposeChildMembersPassOptions |
| struct | InlineStructsPassOptions |
| struct | InStructFunctionNamed |
| This class provides a verifier for ops that are expecting to have an ancestor FuncDefOp with the given name. More... | |
| class | MemberDefOp |
| class | MemberDefOpAdaptor |
| class | MemberDefOpGenericAdaptor |
| class | MemberReadOp |
| class | MemberReadOpAdaptor |
| class | MemberReadOpGenericAdaptor |
| class | MemberRefOpInterface |
| class | MemberWriteOp |
| class | MemberWriteOpAdaptor |
| class | MemberWriteOpGenericAdaptor |
| class | SetFuncAllowAttrs |
| Only valid/implemented for StructDefOp. More... | |
| class | StructDefOp |
| class | StructDefOpAdaptor |
| class | StructDefOpGenericAdaptor |
| class | StructDialect |
| LLZK component/struct operations. More... | |
| struct | StructDialectBytecodeInterface |
| Implement version upgrade for StructDialect. More... | |
| class | StructType |
Functions | |
| bool | isInStruct (Operation *op) |
| FailureOr< StructDefOp > | verifyInStruct (Operation *op) |
| bool | isInStructFunctionNamed (Operation *op, char const *funcName) |
| InFlightDiagnostic | genCompareErr (StructDefOp expected, Operation *origin, const char *aspect) |
| LogicalResult | checkSelfType (SymbolTableCollection &tables, StructDefOp expectedStruct, Type actualType, Operation *origin, const char *aspect) |
| Verifies that the given actualType matches the StructDefOp given (i.e., for the "self" type parameter and return of the struct functions). | |
| std::unique_ptr<::mlir::Pass > | createExposeChildMembersPass () |
| std::unique_ptr<::mlir::Pass > | createExposeChildMembersPass (ExposeChildMembersPassOptions options) |
| std::unique_ptr<::mlir::Pass > | createInlineStructsPass () |
| std::unique_ptr<::mlir::Pass > | createInlineStructsPass (InlineStructsPassOptions options) |
| mlir::InFlightDiagnostic | genCompareErr (StructDefOp expected, mlir::Operation *origin, const char *aspect) |
| mlir::LogicalResult | checkSelfType (mlir::SymbolTableCollection &symbolTable, StructDefOp expectedStruct, mlir::Type actualType, mlir::Operation *origin, const char *aspect) |
| bool | isInStruct (mlir::Operation *op) |
| Return true iff the given Operation is nested somewhere within a StructDefOp. | |
| mlir::FailureOr< StructDefOp > | verifyInStruct (mlir::Operation *op) |
| If the given Operation is nested somewhere within a StructDefOp, return a success result containing that StructDefOp. | |
| bool | isInStructFunctionNamed (mlir::Operation *op, char const *funcName) |
| Return true iff the given Operation is contained within a FuncDefOp with the given name that is itself contained within a StructDefOp. | |
| template<char const * FuncName, unsigned PrefixLen> | |
| mlir::LogicalResult | verifyInStructFunctionNamed (mlir::Operation *op, llvm::function_ref< llvm::SmallString< PrefixLen >()> prefix) |
| Checks if the given Operation is contained within a FuncDefOp with the given name that is itself contained within a StructDefOp, producing an error if not. | |
| mlir::LogicalResult | exposeChildMembers (StructDefOp root) |
| Make reachable concrete child members and matching rolled family declarations public while preserving root's visibility and all signal annotations. | |
| void | registerExposeChildMembersPass () |
| void | registerExposeChildMembersPassPass () |
| void | registerInlineStructsPass () |
| void | registerInlineStructsPassPass () |
| void | registerTransformationPasses () |
| mlir::LogicalResult llzk::component::checkSelfType | ( | mlir::SymbolTableCollection & | symbolTable, |
| StructDefOp | expectedStruct, | ||
| mlir::Type | actualType, | ||
| mlir::Operation * | origin, | ||
| const char * | aspect ) |
| LogicalResult llzk::component::checkSelfType | ( | SymbolTableCollection & | tables, |
| StructDefOp | expectedStruct, | ||
| Type | actualType, | ||
| Operation * | origin, | ||
| const char * | aspect ) |
Verifies that the given actualType matches the StructDefOp given (i.e., for the "self" type parameter and return of the struct functions).
| std::unique_ptr<::mlir::Pass > llzk::component::createExposeChildMembersPass | ( | ) |
Definition at line 108 of file ExposeChildMembersPass.cpp.
| std::unique_ptr<::mlir::Pass > llzk::component::createExposeChildMembersPass | ( | ExposeChildMembersPassOptions | options | ) |
Definition at line 112 of file ExposeChildMembersPass.cpp.
| std::unique_ptr<::mlir::Pass > llzk::component::createInlineStructsPass | ( | ) |
Definition at line 215 of file InlineStructsPass.cpp.
| std::unique_ptr<::mlir::Pass > llzk::component::createInlineStructsPass | ( | InlineStructsPassOptions | options | ) |
Definition at line 219 of file InlineStructsPass.cpp.
| LogicalResult llzk::component::exposeChildMembers | ( | StructDefOp | root | ) |
Make reachable concrete child members and matching rolled family declarations public while preserving root's visibility and all signal annotations.
Root must be attached to an LLZK module, with templates monomorphized and includes inlined. Emit diagnostics on failure without changing member visibility.
Definition at line 227 of file ExposeChildMembersPass.cpp.
| mlir::InFlightDiagnostic llzk::component::genCompareErr | ( | StructDefOp | expected, |
| mlir::Operation * | origin, | ||
| const char * | aspect ) |
| InFlightDiagnostic llzk::component::genCompareErr | ( | StructDefOp | expected, |
| Operation * | origin, | ||
| const char * | aspect ) |
| bool llzk::component::isInStruct | ( | mlir::Operation * | op | ) |
Return true iff the given Operation is nested somewhere within a StructDefOp.
| bool llzk::component::isInStructFunctionNamed | ( | mlir::Operation * | op, |
| char const * | funcName ) |
Return true iff the given Operation is contained within a FuncDefOp with the given name that is itself contained within a StructDefOp.
| bool llzk::component::isInStructFunctionNamed | ( | Operation * | op, |
| char const * | funcName ) |
|
inline |
Definition at line 235 of file TransformationPasses.h.
|
inline |
Definition at line 242 of file TransformationPasses.h.
|
inline |
Definition at line 256 of file TransformationPasses.h.
|
inline |
Definition at line 263 of file TransformationPasses.h.
|
inline |
Definition at line 277 of file TransformationPasses.h.
| mlir::FailureOr< StructDefOp > llzk::component::verifyInStruct | ( | mlir::Operation * | op | ) |
If the given Operation is nested somewhere within a StructDefOp, return a success result containing that StructDefOp.
Otherwise emit an error and return a failure result.
| FailureOr< StructDefOp > llzk::component::verifyInStruct | ( | Operation * | op | ) |
| mlir::LogicalResult llzk::component::verifyInStructFunctionNamed | ( | mlir::Operation * | op, |
| llvm::function_ref< llvm::SmallString< PrefixLen >()> | prefix ) |
Checks if the given Operation is contained within a FuncDefOp with the given name that is itself contained within a StructDefOp, producing an error if not.