|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
Resolve concrete struct specializations referenced by poly.family metadata. More...
#include <StructSpecialization.h>
Public Member Functions | |
| StructSpecializationResolver (mlir::ModuleOp module) | |
| mlir::FailureOr< component::StructDefOp > | resolve (mlir::SymbolTableCollection &tables, component::StructType type, int64_t id, mlir::Operation *site, mlir::StringRef diagnosticContext) |
| Resolve an ID and validate its source. | |
Resolve concrete struct specializations referenced by poly.family metadata.
Specialization definitions, IDs, and origins must remain unchanged while this resolver is in use. Unrelated malformed IDs are ignored; referenced IDs must be unique and their poly.origin must match the source struct type.
Definition at line 28 of file StructSpecialization.h.
|
inlineexplicit |
Definition at line 35 of file StructSpecialization.h.
| FailureOr< StructDefOp > llzk::polymorphic::StructSpecializationResolver::resolve | ( | mlir::SymbolTableCollection & | tables, |
| component::StructType | type, | ||
| int64_t | id, | ||
| mlir::Operation * | site, | ||
| mlir::StringRef | diagnosticContext ) |
Resolve an ID and validate its source.
Emit errors on site, identifying the caller using diagnosticContext (for example, "LLZK layout").
Definition at line 20 of file StructSpecialization.cpp.