|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
Public Types | |
| using | Adaptor = IncludeOpAdaptor |
| template<typename RangeT> | |
| using | GenericAdaptor = IncludeOpGenericAdaptor<RangeT> |
| using | FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>> |
| using | Properties = FoldAdaptor::Properties |
Public Member Functions | |
| static ::llvm::ArrayRef<::llvm::StringRef > | getAttributeNames () |
| ::mlir::StringAttr | getCalleeAttrName () |
| ::mlir::StringAttr | getMapOpGroupSizesAttrName () |
| ::mlir::StringAttr | getNumDimsPerMapAttrName () |
| ::mlir::StringAttr | getTemplateParamsAttrName () |
| ::mlir::StringAttr | getOperandSegmentSizesAttrName () |
| std::pair< unsigned, unsigned > | getODSOperandIndexAndLength (unsigned index) |
| ::mlir::Operation::operand_range | getODSOperands (unsigned index) |
| ::mlir::Operation::operand_range | getArgOperands () |
| ::mlir::OperandRangeRange | getMapOperands () |
| ::mlir::MutableOperandRange | getArgOperandsMutable () |
| ::mlir::MutableOperandRangeRange | getMapOperandsMutable () |
| std::pair< unsigned, unsigned > | getODSResultIndexAndLength (unsigned index) |
| ::mlir::Operation::result_range | getODSResults (unsigned index) |
| void | writeProperties (::mlir::DialectBytecodeWriter &writer) |
| ::mlir::SymbolRefAttr | getCalleeAttr () |
| ::mlir::SymbolRefAttr | getCallee () |
| ::mlir::ArrayAttr | getTemplateParamsAttr () |
| ::std::optional< ::mlir::ArrayAttr > | getTemplateParams () |
| ::mlir::DenseI32ArrayAttr | getNumDimsPerMapAttr () |
| ::llvm::ArrayRef< int32_t > | getNumDimsPerMap () |
| ::mlir::DenseI32ArrayAttr | getMapOpGroupSizesAttr () |
| ::llvm::ArrayRef< int32_t > | getMapOpGroupSizes () |
| void | setCalleeAttr (::mlir::SymbolRefAttr attr) |
| void | setTemplateParamsAttr (::mlir::ArrayAttr attr) |
| void | setNumDimsPerMapAttr (::mlir::DenseI32ArrayAttr attr) |
| void | setNumDimsPerMap (::llvm::ArrayRef< int32_t > attrValue) |
| void | setMapOpGroupSizesAttr (::mlir::DenseI32ArrayAttr attr) |
| void | setMapOpGroupSizes (::llvm::ArrayRef< int32_t > attrValue) |
| ::mlir::Attribute | removeTemplateParamsAttr () |
| ::llvm::LogicalResult | verifyInvariantsImpl () |
| ::llvm::LogicalResult | verifyInvariants () |
| ::mlir::CallInterfaceCallable | getCallableForCallee () |
| Return the callee of this operation. | |
| void | setCalleeFromCallable (::mlir::CallInterfaceCallable callee) |
| Set the callee for this operation. | |
| ::llvm::LogicalResult | verifySymbolUses (::mlir::SymbolTableCollection &symbolTable) |
| void | print (::mlir::OpAsmPrinter &_odsPrinter) |
| ::mlir::Operation * | resolveCallableInTable (::mlir::SymbolTableCollection *symbolTable) |
| Required by CallOpInterface. | |
| ::mlir::Operation * | resolveCallable () |
| Required by CallOpInterface. | |
| ::mlir::FunctionType | getTypeSignature () |
| Return the FunctionType inferred from the arg operands of this CallOp. | |
| ::mlir::FailureOr< UnificationMap > | unifyTypeSignature (::mlir::FunctionType other) |
| Attempt type unfication between the inferred FunctionType from this CallOp (as LHS) and the given FunctionType (as RHS). | |
| bool | contractTargetsStruct () |
| Return true iff the contract targets a struct type. | |
| ::mlir::Value | getSelfValue () |
| Return the "self" value (i.e. | |
| ::mlir::FailureOr<::llzk::SymbolLookupResult<::llzk::verif::ContractOp > > | getCalleeTarget (::mlir::SymbolTableCollection &tables) |
| Resolve and return the target Contract for this CallOp. | |
| static ::llvm::SmallVector<::mlir::ValueRange > | toVectorOfValueRange (::mlir::OperandRangeRange) |
| Allocate consecutive storage of the ValueRange instances in the parameter so it can be passed to the builders as an ArrayRef<ValueRange>. | |
| ::mlir::LogicalResult | verifyTemplateParamCompatibility (::mlir::Attribute paramFromCallOp, ::llzk::polymorphic::TemplateParamOp targetParam) |
| Check type compatibility of the given template parameter value from this CallOp against the declared type on the given TemplateParamOp (if any). | |
| ::mlir::LogicalResult | verifyTemplateParamCompatibility (::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > targetParamDefs) |
| Check type compatibility of each template parameter value provided in this CallOp against the declared type on each TemplateParamOp (if any). | |
| ::mlir::LogicalResult | verifyTemplateParamsMatchInferred (::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > targetParamDefs, const UnificationMap &unifications) |
| Verify that each template parameter value provided in this CallOp is consistent with the value inferred for the target TemplateParamOp in the given UnificationMap. | |
Static Public Member Functions | |
| ::mlir::StringAttr | getCalleeAttrName (::mlir::OperationName name) |
| ::mlir::StringAttr | getMapOpGroupSizesAttrName (::mlir::OperationName name) |
| ::mlir::StringAttr | getNumDimsPerMapAttrName (::mlir::OperationName name) |
| ::mlir::StringAttr | getTemplateParamsAttrName (::mlir::OperationName name) |
| ::mlir::StringAttr | getOperandSegmentSizesAttrName (::mlir::OperationName name) |
| static constexpr ::llvm::StringLiteral | getOperationName () |
| ::llvm::LogicalResult | setPropertiesFromAttr (Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) |
| ::mlir::Attribute | getPropertiesAsAttr (::mlir::MLIRContext *ctx, const Properties &prop) |
| static llvm::hash_code | computePropertiesHash (const Properties &prop) |
| static std::optional< mlir::Attribute > | getInherentAttr (::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name) |
| static void | setInherentAttr (Properties &prop, llvm::StringRef name, mlir::Attribute value) |
| static void | populateInherentAttrs (::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs) |
| ::llvm::LogicalResult | verifyInherentAttrs (::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) |
| ::llvm::LogicalResult | readProperties (::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::SymbolRefAttr callee, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={}) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::SymbolRefAttr callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::mlir::DenseI32ArrayAttr numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={}) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::SymbolRefAttr callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::llvm::ArrayRef< int32_t > numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={}) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::verif::ContractOp callee, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={}) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::verif::ContractOp callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::mlir::DenseI32ArrayAttr numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={}) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::verif::ContractOp callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::llvm::ArrayRef< int32_t > numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={}) |
| static void | populateDefaultProperties (::mlir::OperationName opName, Properties &properties) |
| ::mlir::ParseResult | parse (::mlir::OpAsmParser &parser, ::mlir::OperationState &result) |
| ::llvm::LogicalResult | setPropertiesFromParsedAttr (Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) |
| using llzk::verif::IncludeOp::FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>> |
| using llzk::verif::IncludeOp::GenericAdaptor = IncludeOpGenericAdaptor<RangeT> |
|
static |
Definition at line 1452 of file Ops.cpp.inc.
|
static |
Definition at line 1445 of file Ops.cpp.inc.
|
static |
Definition at line 1438 of file Ops.cpp.inc.
|
static |
Definition at line 1431 of file Ops.cpp.inc.
|
static |
|
static |
|
static |
Definition at line 1244 of file Ops.cpp.inc.
| bool llzk::verif::IncludeOp::contractTargetsStruct | ( | ) |
|
inline |
| mlir::MutableOperandRange llzk::verif::IncludeOp::getArgOperandsMutable | ( | ) |
Definition at line 1111 of file Ops.cpp.inc.
|
inline |
| CallInterfaceCallable llzk::verif::IncludeOp::getCallableForCallee | ( | ) |
| mlir::SymbolRefAttr llzk::verif::IncludeOp::getCallee | ( | ) |
Definition at line 1403 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| FailureOr< SymbolLookupResult< ContractOp > > llzk::verif::IncludeOp::getCalleeTarget | ( | ::mlir::SymbolTableCollection & | tables | ) |
|
static |
Definition at line 1256 of file Ops.cpp.inc.
|
inline |
| mlir::MutableOperandRangeRange llzk::verif::IncludeOp::getMapOperandsMutable | ( | ) |
Definition at line 1117 of file Ops.cpp.inc.
| llvm::ArrayRef< int32_t > llzk::verif::IncludeOp::getMapOpGroupSizes | ( | ) |
Definition at line 1418 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| llvm::ArrayRef< int32_t > llzk::verif::IncludeOp::getNumDimsPerMap | ( | ) |
Definition at line 1413 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| std::pair< unsigned, unsigned > llzk::verif::IncludeOp::getODSOperandIndexAndLength | ( | unsigned | index | ) |
Definition at line 1102 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
static |
Definition at line 1199 of file Ops.cpp.inc.
| Value llzk::verif::IncludeOp::getSelfValue | ( | ) |
| std::optional<::mlir::ArrayAttr > llzk::verif::IncludeOp::getTemplateParams | ( | ) |
Definition at line 1408 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| FunctionType llzk::verif::IncludeOp::getTypeSignature | ( | ) |
|
static |
Definition at line 1508 of file Ops.cpp.inc.
|
static |
Definition at line 1459 of file Ops.cpp.inc.
|
static |
Definition at line 1302 of file Ops.cpp.inc.
| void llzk::verif::IncludeOp::print | ( | ::mlir::OpAsmPrinter & | _odsPrinter | ) |
Definition at line 1611 of file Ops.cpp.inc.
|
static |
Definition at line 1340 of file Ops.cpp.inc.
|
inline |
| Operation * llzk::verif::IncludeOp::resolveCallable | ( | ) |
| Operation * llzk::verif::IncludeOp::resolveCallableInTable | ( | ::mlir::SymbolTableCollection * | symbolTable | ) |
|
inline |
| void llzk::verif::IncludeOp::setCalleeFromCallable | ( | ::mlir::CallInterfaceCallable | callee | ) |
|
static |
Definition at line 1272 of file Ops.cpp.inc.
| void llzk::verif::IncludeOp::setMapOpGroupSizes | ( | ::llvm::ArrayRef< int32_t > | attrValue | ) |
Definition at line 1427 of file Ops.cpp.inc.
|
inline |
| void llzk::verif::IncludeOp::setNumDimsPerMap | ( | ::llvm::ArrayRef< int32_t > | attrValue | ) |
Definition at line 1423 of file Ops.cpp.inc.
|
inline |
|
static |
Definition at line 1123 of file Ops.cpp.inc.
|
static |
Definition at line 1583 of file Ops.cpp.inc.
|
inline |
| SmallVector< ValueRange > llzk::verif::IncludeOp::toVectorOfValueRange | ( | ::mlir::OperandRangeRange | ) |
| FailureOr< UnificationMap > llzk::verif::IncludeOp::unifyTypeSignature | ( | ::mlir::FunctionType | other | ) |
Attempt type unfication between the inferred FunctionType from this CallOp (as LHS) and the given FunctionType (as RHS).
If successful, return a UnificationMap containing the unifications that were made. Otherwise, return failure.
|
static |
Definition at line 1313 of file Ops.cpp.inc.
| llvm::LogicalResult llzk::verif::IncludeOp::verifyInvariants | ( | ) |
Definition at line 1504 of file Ops.cpp.inc.
| llvm::LogicalResult llzk::verif::IncludeOp::verifyInvariantsImpl | ( | ) |
Definition at line 1465 of file Ops.cpp.inc.
| LogicalResult llzk::verif::IncludeOp::verifySymbolUses | ( | ::mlir::SymbolTableCollection & | symbolTable | ) |
| ::mlir::LogicalResult llzk::verif::IncludeOp::verifyTemplateParamCompatibility | ( | ::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > | targetParamDefs | ) |
Check type compatibility of each template parameter value provided in this CallOp against the declared type on each TemplateParamOp (if any).
Pre-condition assertions:
| ::mlir::LogicalResult llzk::verif::IncludeOp::verifyTemplateParamCompatibility | ( | ::mlir::Attribute | paramFromCallOp, |
| ::llzk::polymorphic::TemplateParamOp | targetParam ) |
Check type compatibility of the given template parameter value from this CallOp against the declared type on the given TemplateParamOp (if any).
| LogicalResult llzk::verif::IncludeOp::verifyTemplateParamsMatchInferred | ( | ::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > | targetParamDefs, |
| const UnificationMap & | unifications ) |
Verify that each template parameter value provided in this CallOp is consistent with the value inferred for the target TemplateParamOp in the given UnificationMap.
The UnificationMap is expected to contain the unification results of this CallOp against the target function type signature.
Pre-condition assertions:
| void llzk::verif::IncludeOp::writeProperties | ( | ::mlir::DialectBytecodeWriter & | writer | ) |
Definition at line 1380 of file Ops.cpp.inc.