|
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 1334 of file Ops.cpp.inc.
|
static |
Definition at line 1327 of file Ops.cpp.inc.
|
static |
Definition at line 1320 of file Ops.cpp.inc.
|
static |
Definition at line 1313 of file Ops.cpp.inc.
|
static |
|
static |
|
static |
Definition at line 1126 of file Ops.cpp.inc.
| bool llzk::verif::IncludeOp::contractTargetsStruct | ( | ) |
|
inline |
| mlir::MutableOperandRange llzk::verif::IncludeOp::getArgOperandsMutable | ( | ) |
Definition at line 993 of file Ops.cpp.inc.
|
inline |
| CallInterfaceCallable llzk::verif::IncludeOp::getCallableForCallee | ( | ) |
| mlir::SymbolRefAttr llzk::verif::IncludeOp::getCallee | ( | ) |
Definition at line 1285 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| FailureOr< SymbolLookupResult< ContractOp > > llzk::verif::IncludeOp::getCalleeTarget | ( | ::mlir::SymbolTableCollection & | tables | ) |
|
static |
Definition at line 1138 of file Ops.cpp.inc.
|
inline |
| mlir::MutableOperandRangeRange llzk::verif::IncludeOp::getMapOperandsMutable | ( | ) |
Definition at line 999 of file Ops.cpp.inc.
| llvm::ArrayRef< int32_t > llzk::verif::IncludeOp::getMapOpGroupSizes | ( | ) |
Definition at line 1300 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| llvm::ArrayRef< int32_t > llzk::verif::IncludeOp::getNumDimsPerMap | ( | ) |
Definition at line 1295 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| std::pair< unsigned, unsigned > llzk::verif::IncludeOp::getODSOperandIndexAndLength | ( | unsigned | index | ) |
Definition at line 984 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
static |
Definition at line 1081 of file Ops.cpp.inc.
| Value llzk::verif::IncludeOp::getSelfValue | ( | ) |
| std::optional<::mlir::ArrayAttr > llzk::verif::IncludeOp::getTemplateParams | ( | ) |
Definition at line 1290 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
| FunctionType llzk::verif::IncludeOp::getTypeSignature | ( | ) |
|
static |
Definition at line 1390 of file Ops.cpp.inc.
|
static |
Definition at line 1341 of file Ops.cpp.inc.
|
static |
Definition at line 1184 of file Ops.cpp.inc.
| void llzk::verif::IncludeOp::print | ( | ::mlir::OpAsmPrinter & | _odsPrinter | ) |
Definition at line 1493 of file Ops.cpp.inc.
|
static |
Definition at line 1222 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 1154 of file Ops.cpp.inc.
| void llzk::verif::IncludeOp::setMapOpGroupSizes | ( | ::llvm::ArrayRef< int32_t > | attrValue | ) |
Definition at line 1309 of file Ops.cpp.inc.
|
inline |
| void llzk::verif::IncludeOp::setNumDimsPerMap | ( | ::llvm::ArrayRef< int32_t > | attrValue | ) |
Definition at line 1305 of file Ops.cpp.inc.
|
inline |
|
static |
Definition at line 1005 of file Ops.cpp.inc.
|
static |
Definition at line 1465 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 1195 of file Ops.cpp.inc.
| llvm::LogicalResult llzk::verif::IncludeOp::verifyInvariants | ( | ) |
Definition at line 1386 of file Ops.cpp.inc.
| llvm::LogicalResult llzk::verif::IncludeOp::verifyInvariantsImpl | ( | ) |
Definition at line 1347 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 1262 of file Ops.cpp.inc.