17 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.det.assume"), location);
18 mlirOperationStateAddOperands(&state, 1, &hint);
24 return llvm::isa<AssumeDetOp>(unwrap(inp));
28 auto range = llvm::cast<AssumeDetOp>(unwrap(op)).getODSOperandIndexAndLength(0);
29 assert(range.second == 1 &&
"expected fixed operand segment size");
31 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
32 "operand index exceeds intptr_t range"
34 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
38 auto range = llvm::cast<AssumeDetOp>(unwrap(op)).getODSOperandIndexAndLength(0);
39 assert(range.second == 1 &&
"expected fixed operand segment size");
41 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
42 "operand index exceeds intptr_t range"
44 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
48 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.contract_end"), location);
54 return llvm::isa<ContractEndOp>(unwrap(inp));
58 return llvm::isa<ContractOp>(unwrap(inp));
62 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"sym_name"));
66 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"sym_name"), attr);
70 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"target"));
74 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"target"), attr);
78 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"function_type"));
82 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"function_type"), attr);
86 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"arg_attrs"));
90 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"arg_attrs"), attr);
94 return mlirOperationGetRegion(op, 0);
98 return llvm::cast<ContractOp>(unwrap(inp)).isDeclaration();
102 return llvm::cast<ContractOp>(unwrap(inp)).hasArgPublicAttr(index);
106 return llvm::cast<ContractOp>(unwrap(inp)).hasFuncTarget();
110 return llvm::cast<ContractOp>(unwrap(inp)).hasStructTarget();
114 return wrap(llvm::cast<ContractOp>(unwrap(inp)).getCallableRegion());
118 return llvm::cast<ContractOp>(unwrap(inp)).hasArgName(index);
122 return wrap(llvm::cast<ContractOp>(unwrap(inp)).getFullyQualifiedName(requireParent));
126 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.decreases"), location);
127 mlirOperationStateAddOperands(&state, 1, &value);
133 return llvm::isa<DecreasesOp>(unwrap(inp));
137 auto range = llvm::cast<DecreasesOp>(unwrap(op)).getODSOperandIndexAndLength(0);
138 assert(range.second == 1 &&
"expected fixed operand segment size");
140 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
141 "operand index exceeds intptr_t range"
143 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
147 auto range = llvm::cast<DecreasesOp>(unwrap(op)).getODSOperandIndexAndLength(0);
148 assert(range.second == 1 &&
"expected fixed operand segment size");
150 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
151 "operand index exceeds intptr_t range"
153 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
157 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.ensure_compute"), location);
158 mlirOperationStateAddOperands(&state, 1, &condition);
164 return llvm::isa<EnsureComputeOp>(unwrap(inp));
168 auto range = llvm::cast<EnsureComputeOp>(unwrap(op)).getODSOperandIndexAndLength(0);
169 assert(range.second == 1 &&
"expected fixed operand segment size");
171 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
172 "operand index exceeds intptr_t range"
174 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
178 auto range = llvm::cast<EnsureComputeOp>(unwrap(op)).getODSOperandIndexAndLength(0);
179 assert(range.second == 1 &&
"expected fixed operand segment size");
181 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
182 "operand index exceeds intptr_t range"
184 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
188 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.ensure_constrain"), location);
189 mlirOperationStateAddOperands(&state, 1, &condition);
195 return llvm::isa<EnsureConstrainOp>(unwrap(inp));
199 auto range = llvm::cast<EnsureConstrainOp>(unwrap(op)).getODSOperandIndexAndLength(0);
200 assert(range.second == 1 &&
"expected fixed operand segment size");
202 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
203 "operand index exceeds intptr_t range"
205 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
209 auto range = llvm::cast<EnsureConstrainOp>(unwrap(op)).getODSOperandIndexAndLength(0);
210 assert(range.second == 1 &&
"expected fixed operand segment size");
212 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
213 "operand index exceeds intptr_t range"
215 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
219 return llvm::isa<IncludeOp>(unwrap(inp));
223 auto range = llvm::cast<IncludeOp>(unwrap(op)).getODSOperandIndexAndLength(0);
228 auto range = llvm::cast<IncludeOp>(unwrap(op)).getODSOperandIndexAndLength(0);
229 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
231 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
232 "operand index exceeds intptr_t range"
234 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
240 ::llvm::SmallVector<::mlir::Value> vals;
241 vals.reserve(
static_cast<size_t>(count));
242 for (intptr_t i = 0; i < count; ++i)
243 vals.push_back(unwrap(values[i]));
244 ::llvm::cast<IncludeOp>(unwrap(op)).getArgOperandsMutable().assign(vals);
248 auto range = llvm::cast<IncludeOp>(unwrap(op)).getODSOperandIndexAndLength(1);
253 auto range = llvm::cast<IncludeOp>(unwrap(op)).getODSOperandIndexAndLength(1);
254 assert(index >= 0 && index < range.second &&
"variadic operand index out of range");
256 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
257 "operand index exceeds intptr_t range"
259 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first) + index);
266 ::llvm::SmallVector<::mlir::Value> vals;
267 for (intptr_t g = 0; g < groupCount; ++g) {
268 assert(groups[g].size >= 0 &&
"group size must be non-negative");
269 for (intptr_t i = 0; i < groups[g].
size; ++i) {
270 vals.push_back(unwrap(groups[g].values[i]));
273 ::llvm::cast<IncludeOp>(unwrap(op)).getMapOperandsMutable().join().assign(vals);
275 ::llvm::SmallVector<int32_t> newGroupSizes;
276 newGroupSizes.reserve(
static_cast<size_t>(groupCount));
277 for (intptr_t g = 0; g < groupCount; ++g) {
279 groups[g].size <=
static_cast<intptr_t
>(std::numeric_limits<int32_t>::max()) &&
280 "group size exceeds int32_t range"
282 newGroupSizes.push_back(
static_cast<int32_t
>(groups[g].size));
284 MlirContext ctx = mlirOperationGetContext(op);
286 newGroupSizes.size() <=
static_cast<size_t>(std::numeric_limits<intptr_t>::max()) &&
287 "group count exceeds intptr_t range"
289 mlirOperationSetAttributeByName(
290 op, mlirStringRefCreateFromCString(
"mapOpGroupSizes"),
291 mlirDenseI32ArrayGet(ctx,
static_cast<intptr_t
>(newGroupSizes.size()), newGroupSizes.data())
296 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"callee"));
300 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"callee"), attr);
304 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"templateParams"));
308 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"templateParams"), attr);
312 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"numDimsPerMap"));
316 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"numDimsPerMap"), attr);
320 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"mapOpGroupSizes"));
324 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"mapOpGroupSizes"), attr);
328 return llvm::cast<IncludeOp>(unwrap(inp)).contractTargetsStruct();
332 return wrap(llvm::cast<IncludeOp>(unwrap(inp)).getSelfValue());
336 return wrap(llvm::cast<IncludeOp>(unwrap(inp)).getTypeSignature());
340 return wrap(llvm::cast<IncludeOp>(unwrap(inp)).resolveCallable());
344 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.increases"), location);
345 mlirOperationStateAddOperands(&state, 1, &value);
351 return llvm::isa<IncreasesOp>(unwrap(inp));
355 auto range = llvm::cast<IncreasesOp>(unwrap(op)).getODSOperandIndexAndLength(0);
356 assert(range.second == 1 &&
"expected fixed operand segment size");
358 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
359 "operand index exceeds intptr_t range"
361 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
365 auto range = llvm::cast<IncreasesOp>(unwrap(op)).getODSOperandIndexAndLength(0);
366 assert(range.second == 1 &&
"expected fixed operand segment size");
368 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
369 "operand index exceeds intptr_t range"
371 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
375 return llvm::isa<InvariantOp>(unwrap(inp));
379 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"loop_name"));
383 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"loop_name"), attr);
387 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString(
"loop_arg_types"));
391 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString(
"loop_arg_types"), attr);
395 return mlirOperationGetRegion(op, 0);
399 return wrap(llvm::cast<InvariantOp>(unwrap(inp)).getParentContract());
403 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.old"), location);
404 mlirOperationStateEnableResultTypeInference(&state);
405 mlirOperationStateAddOperands(&state, 1, &value);
411 return llvm::isa<OldOp>(unwrap(inp));
415 auto range = llvm::cast<OldOp>(unwrap(op)).getODSOperandIndexAndLength(0);
416 assert(range.second == 1 &&
"expected fixed operand segment size");
418 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
419 "operand index exceeds intptr_t range"
421 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
425 auto range = llvm::cast<OldOp>(unwrap(op)).getODSOperandIndexAndLength(0);
426 assert(range.second == 1 &&
"expected fixed operand segment size");
428 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
429 "operand index exceeds intptr_t range"
431 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
435 return mlirOperationGetResult(op, 0);
439 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.det.prove"), location);
440 mlirOperationStateEnableResultTypeInference(&state);
441 mlirOperationStateAddOperands(&state, 1, &condition);
447 return llvm::isa<ProveDetOp>(unwrap(inp));
451 auto range = llvm::cast<ProveDetOp>(unwrap(op)).getODSOperandIndexAndLength(0);
452 assert(range.second == 1 &&
"expected fixed operand segment size");
454 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
455 "operand index exceeds intptr_t range"
457 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
461 auto range = llvm::cast<ProveDetOp>(unwrap(op)).getODSOperandIndexAndLength(0);
462 assert(range.second == 1 &&
"expected fixed operand segment size");
464 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
465 "operand index exceeds intptr_t range"
467 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
471 return mlirOperationGetResult(op, 0);
475 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.require_compute"), location);
476 mlirOperationStateAddOperands(&state, 1, &condition);
482 return llvm::isa<RequireComputeOp>(unwrap(inp));
486 auto range = llvm::cast<RequireComputeOp>(unwrap(op)).getODSOperandIndexAndLength(0);
487 assert(range.second == 1 &&
"expected fixed operand segment size");
489 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
490 "operand index exceeds intptr_t range"
492 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
496 auto range = llvm::cast<RequireComputeOp>(unwrap(op)).getODSOperandIndexAndLength(0);
497 assert(range.second == 1 &&
"expected fixed operand segment size");
499 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
500 "operand index exceeds intptr_t range"
502 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
506 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.require_constrain"), location);
507 mlirOperationStateAddOperands(&state, 1, &condition);
513 return llvm::isa<RequireConstrainOp>(unwrap(inp));
517 auto range = llvm::cast<RequireConstrainOp>(unwrap(op)).getODSOperandIndexAndLength(0);
518 assert(range.second == 1 &&
"expected fixed operand segment size");
520 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
521 "operand index exceeds intptr_t range"
523 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
527 auto range = llvm::cast<RequireConstrainOp>(unwrap(op)).getODSOperandIndexAndLength(0);
528 assert(range.second == 1 &&
"expected fixed operand segment size");
530 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
531 "operand index exceeds intptr_t range"
533 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
537 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.step"), location);
538 llvm::SmallVector<MlirRegion, 1> regions;
539 regions.push_back(mlirRegionCreate());
540 mlirOperationStateAddOwnedRegions(&state, regions.size(), regions.data());
546 return llvm::isa<StepOp>(unwrap(inp));
550 return mlirOperationGetRegion(op, 0);
554 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.step.yield"), location);
555 mlirOperationStateAddOperands(&state, 1, &value);
561 return llvm::isa<StepYieldOp>(unwrap(inp));
565 auto range = llvm::cast<StepYieldOp>(unwrap(op)).getODSOperandIndexAndLength(0);
566 assert(range.second == 1 &&
"expected fixed operand segment size");
568 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
569 "operand index exceeds intptr_t range"
571 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
575 auto range = llvm::cast<StepYieldOp>(unwrap(op)).getODSOperandIndexAndLength(0);
576 assert(range.second == 1 &&
"expected fixed operand segment size");
578 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
579 "operand index exceeds intptr_t range"
581 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
585 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.assert"), location);
586 mlirOperationStateAddOperands(&state, 1, &condition);
592 return llvm::isa<VerifAssertOp>(unwrap(inp));
596 auto range = llvm::cast<VerifAssertOp>(unwrap(op)).getODSOperandIndexAndLength(0);
597 assert(range.second == 1 &&
"expected fixed operand segment size");
599 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
600 "operand index exceeds intptr_t range"
602 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
606 auto range = llvm::cast<VerifAssertOp>(unwrap(op)).getODSOperandIndexAndLength(0);
607 assert(range.second == 1 &&
"expected fixed operand segment size");
609 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
610 "operand index exceeds intptr_t range"
612 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
616 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.prove"), location);
617 mlirOperationStateAddOperands(&state, 1, &condition);
623 return llvm::isa<VerifProveOp>(unwrap(inp));
627 auto range = llvm::cast<VerifProveOp>(unwrap(op)).getODSOperandIndexAndLength(0);
628 assert(range.second == 1 &&
"expected fixed operand segment size");
630 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
631 "operand index exceeds intptr_t range"
633 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
637 auto range = llvm::cast<VerifProveOp>(unwrap(op)).getODSOperandIndexAndLength(0);
638 assert(range.second == 1 &&
"expected fixed operand segment size");
640 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
641 "operand index exceeds intptr_t range"
643 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
647 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString(
"verif.smt_prove"), location);
648 mlirOperationStateAddOperands(&state, 1, &condition);
654 return llvm::isa<VerifSMTProveOp>(unwrap(inp));
658 auto range = llvm::cast<VerifSMTProveOp>(unwrap(op)).getODSOperandIndexAndLength(0);
659 assert(range.second == 1 &&
"expected fixed operand segment size");
661 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
662 "operand index exceeds intptr_t range"
664 return mlirOperationGetOperand(op,
static_cast<intptr_t
>(range.first));
668 auto range = llvm::cast<VerifSMTProveOp>(unwrap(op)).getODSOperandIndexAndLength(0);
669 assert(range.second == 1 &&
"expected fixed operand segment size");
671 static_cast<uintptr_t
>(range.first) <=
static_cast<uintptr_t
>(std::numeric_limits<intptr_t>::max()) &&
672 "operand index exceeds intptr_t range"
674 mlirOperationSetOperand(op,
static_cast<intptr_t
>(range.first), value);
MlirOperation mlirOpBuilderInsert(MlirOpBuilder builder, MlirOperation op)
Inserts op at the current insertion point of builder and returns it.
MlirValue llzkVerif_OldOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::OldOp Operation.
MlirAttribute llzkVerif_IncludeOpGetNumDimsPerMap(MlirOperation op)
Get NumDimsPerMap attribute from llzk::verif::IncludeOp Operation.
intptr_t llzkVerif_IncludeOpGetMapOperandsCount(MlirOperation op)
Get number of MapOperands operands in llzk::verif::IncludeOp Operation.
void llzkVerif_StepYieldOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::StepYieldOp Operation.
void llzkVerif_VerifAssertOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::VerifAssertOp Operation.
void llzkVerif_IncludeOpSetTemplateParams(MlirOperation op, MlirAttribute attr)
Set TemplateParams attribute of llzk::verif::IncludeOp Operation.
void llzkVerif_IncludeOpSetMapOpGroupSizes(MlirOperation op, MlirAttribute attr)
Set MapOpGroupSizes attribute of llzk::verif::IncludeOp Operation.
MlirValue llzkVerif_VerifProveOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::VerifProveOp Operation.
void llzkVerif_VerifProveOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::VerifProveOp Operation.
MlirOperation llzkVerif_RequireComputeOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::RequireComputeOp Operation.
void llzkVerif_AssumeDetOpSetHint(MlirOperation op, MlirValue value)
Set Hint operand of llzk::verif::AssumeDetOp Operation.
void llzkVerif_IncludeOpSetCallee(MlirOperation op, MlirAttribute attr)
Set Callee attribute of llzk::verif::IncludeOp Operation.
MlirOperation llzkVerif_RequireConstrainOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::RequireConstrainOp Operation.
bool llzkVerif_ContractOpHasStructTarget(MlirOperation inp)
Return true iff the contract targets a struct type.
void llzkVerif_RequireConstrainOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::RequireConstrainOp Operation.
MlirValue llzkVerif_VerifSMTProveOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::VerifSMTProveOp Operation.
MlirRegion llzkVerif_ContractOpGetBody(MlirOperation op)
Get Body region from llzk::verif::ContractOp Operation.
MlirAttribute llzkVerif_IncludeOpGetTemplateParams(MlirOperation op)
Get TemplateParams attribute from llzk::verif::IncludeOp Operation.
MlirOperation llzkVerif_StepOpBuild(MlirOpBuilder builder, MlirLocation location)
Build a llzk::verif::StepOp Operation.
bool llzkOperationIsA_Verif_RequireConstrainOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::RequireConstrainOp.
MlirOperation llzkVerif_EnsureConstrainOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::EnsureConstrainOp Operation.
MlirAttribute llzkVerif_IncludeOpGetMapOpGroupSizes(MlirOperation op)
Get MapOpGroupSizes attribute from llzk::verif::IncludeOp Operation.
bool llzkOperationIsA_Verif_VerifSMTProveOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::VerifSMTProveOp.
MlirOperation llzkVerif_ContractEndOpBuild(MlirOpBuilder builder, MlirLocation location)
Build a llzk::verif::ContractEndOp Operation.
bool llzkOperationIsA_Verif_ProveDetOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::ProveDetOp.
void llzkVerif_EnsureComputeOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::EnsureComputeOp Operation.
MlirValue llzkVerif_StepYieldOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::StepYieldOp Operation.
MlirOperation llzkVerif_VerifProveOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::VerifProveOp Operation.
MlirOperation llzkVerif_VerifSMTProveOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::VerifSMTProveOp Operation.
MlirAttribute llzkVerif_InvariantOpGetLoopName(MlirOperation op)
Get LoopName attribute from llzk::verif::InvariantOp Operation.
bool llzkVerif_ContractOpHasArgPublicAttr(MlirOperation inp, unsigned index)
Return true iff the argument at the given index has pub attribute.
bool llzkOperationIsA_Verif_ContractEndOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::ContractEndOp.
MlirRegion llzkVerif_StepOpGetRegion(MlirOperation op)
Get Region region from llzk::verif::StepOp Operation.
intptr_t llzkVerif_IncludeOpGetArgOperandsCount(MlirOperation op)
Get number of ArgOperands operands in llzk::verif::IncludeOp Operation.
bool llzkOperationIsA_Verif_DecreasesOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::DecreasesOp.
bool llzkOperationIsA_Verif_StepYieldOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::StepYieldOp.
bool llzkOperationIsA_Verif_InvariantOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::InvariantOp.
MlirAttribute llzkVerif_ContractOpGetSymName(MlirOperation op)
Get SymName attribute from llzk::verif::ContractOp Operation.
void llzkVerif_IncreasesOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::IncreasesOp Operation.
MlirValue llzkVerif_VerifAssertOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::VerifAssertOp Operation.
MlirOperation llzkVerif_IncreasesOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::IncreasesOp Operation.
void llzkVerif_ProveDetOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::ProveDetOp Operation.
MlirAttribute llzkVerif_InvariantOpGetLoopArgTypes(MlirOperation op)
Get LoopArgTypes attribute from llzk::verif::InvariantOp Operation.
MlirOperation llzkVerif_OldOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::OldOp Operation.
MlirOperation llzkVerif_AssumeDetOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue hint)
Build a llzk::verif::AssumeDetOp Operation.
void llzkVerif_VerifSMTProveOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::VerifSMTProveOp Operation.
bool llzkVerif_ContractOpHasArgName(MlirOperation inp, unsigned index)
Return true iff the argument at the given index has a function.arg_name attribute.
bool llzkVerif_IncludeOpContractTargetsStruct(MlirOperation inp)
Return true iff the contract targets a struct type.
bool llzkOperationIsA_Verif_RequireComputeOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::RequireComputeOp.
MlirAttribute llzkVerif_ContractOpGetTarget(MlirOperation op)
Get Target attribute from llzk::verif::ContractOp Operation.
MlirAttribute llzkVerif_ContractOpGetFunctionType(MlirOperation op)
Get FunctionType attribute from llzk::verif::ContractOp Operation.
bool llzkOperationIsA_Verif_EnsureConstrainOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::EnsureConstrainOp.
MlirValue llzkVerif_ProveDetOpGetResult(MlirOperation op)
Get Result result from llzk::verif::ProveDetOp Operation.
MlirAttribute llzkVerif_ContractOpGetArgAttrs(MlirOperation op)
Get ArgAttrs attribute from llzk::verif::ContractOp Operation.
bool llzkOperationIsA_Verif_EnsureComputeOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::EnsureComputeOp.
void llzkVerif_IncludeOpSetArgOperands(MlirOperation op, intptr_t count, MlirValue const *values)
Set ArgOperands operands of llzk::verif::IncludeOp Operation.
MlirOperation llzkVerif_DecreasesOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::DecreasesOp Operation.
void llzkVerif_IncludeOpSetNumDimsPerMap(MlirOperation op, MlirAttribute attr)
Set NumDimsPerMap attribute of llzk::verif::IncludeOp Operation.
void llzkVerif_ContractOpSetTarget(MlirOperation op, MlirAttribute attr)
Set Target attribute of llzk::verif::ContractOp Operation.
void llzkVerif_EnsureConstrainOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::EnsureConstrainOp Operation.
MlirAttribute llzkVerif_IncludeOpGetCallee(MlirOperation op)
Get Callee attribute from llzk::verif::IncludeOp Operation.
bool llzkVerif_ContractOpIsDeclaration(MlirOperation inp)
Required by SymbolOpInterface.
MlirOperation llzkVerif_InvariantOpGetParentContract(MlirOperation inp)
Returns the contract operation that contains this invariant.
MlirOperation llzkVerif_StepYieldOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::StepYieldOp Operation.
MlirValue llzkVerif_IncludeOpGetMapOperandsAt(MlirOperation op, intptr_t index)
Get MapOperands operand at index from llzk::verif::IncludeOp Operation.
void llzkVerif_ContractOpSetArgAttrs(MlirOperation op, MlirAttribute attr)
Set ArgAttrs attribute of llzk::verif::ContractOp Operation.
void llzkVerif_InvariantOpSetLoopName(MlirOperation op, MlirAttribute attr)
Set LoopName attribute of llzk::verif::InvariantOp Operation.
MlirValue llzkVerif_ProveDetOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::ProveDetOp Operation.
MlirOperation llzkVerif_EnsureComputeOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::EnsureComputeOp Operation.
MlirValue llzkVerif_RequireComputeOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::RequireComputeOp Operation.
bool llzkOperationIsA_Verif_IncludeOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::IncludeOp.
void llzkVerif_InvariantOpSetLoopArgTypes(MlirOperation op, MlirAttribute attr)
Set LoopArgTypes attribute of llzk::verif::InvariantOp Operation.
MlirValue llzkVerif_IncludeOpGetArgOperandsAt(MlirOperation op, intptr_t index)
Get ArgOperands operand at index from llzk::verif::IncludeOp Operation.
void llzkVerif_RequireComputeOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::RequireComputeOp Operation.
MlirOperation llzkVerif_ProveDetOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::ProveDetOp Operation.
void llzkVerif_IncludeOpSetMapOperands(MlirOperation op, intptr_t groupCount, MlirValueRange const *groups)
Set MapOperands operand groups of llzk::verif::IncludeOp Operation.
bool llzkOperationIsA_Verif_IncreasesOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::IncreasesOp.
bool llzkOperationIsA_Verif_StepOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::StepOp.
void llzkVerif_DecreasesOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::DecreasesOp Operation.
MlirRegion llzkVerif_InvariantOpGetRegion(MlirOperation op)
Get Region region from llzk::verif::InvariantOp Operation.
MlirValue llzkVerif_IncludeOpGetSelfValue(MlirOperation inp)
Return the "self" value (i.e.
MlirValue llzkVerif_IncreasesOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::IncreasesOp Operation.
MlirType llzkVerif_IncludeOpGetTypeSignature(MlirOperation inp)
Return the FunctionType inferred from the arg operands of this CallOp.
void llzkVerif_OldOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::OldOp Operation.
MlirValue llzkVerif_EnsureComputeOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::EnsureComputeOp Operation.
bool llzkOperationIsA_Verif_VerifAssertOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::VerifAssertOp.
MlirValue llzkVerif_EnsureConstrainOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::EnsureConstrainOp Operation.
MlirRegion llzkVerif_ContractOpGetCallableRegion(MlirOperation inp)
Required by FunctionOpInterface.
bool llzkOperationIsA_Verif_VerifProveOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::VerifProveOp.
MlirValue llzkVerif_RequireConstrainOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::RequireConstrainOp Operation.
MlirValue llzkVerif_AssumeDetOpGetHint(MlirOperation op)
Get Hint operand from llzk::verif::AssumeDetOp Operation.
bool llzkVerif_ContractOpHasFuncTarget(MlirOperation inp)
Return true iff the contract targets a function.
MlirOperation llzkVerif_VerifAssertOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::VerifAssertOp Operation.
bool llzkOperationIsA_Verif_ContractOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::ContractOp.
MlirAttribute llzkVerif_ContractOpGetFullyQualifiedName(MlirOperation inp, bool requireParent)
Return the full name for this contract from the root module, including all surrounding symbol table n...
bool llzkOperationIsA_Verif_AssumeDetOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::AssumeDetOp.
MlirValue llzkVerif_OldOpGetResult(MlirOperation op)
Get Result result from llzk::verif::OldOp Operation.
void llzkVerif_ContractOpSetFunctionType(MlirOperation op, MlirAttribute attr)
Set FunctionType attribute of llzk::verif::ContractOp Operation.
MlirValue llzkVerif_DecreasesOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::DecreasesOp Operation.
void llzkVerif_ContractOpSetSymName(MlirOperation op, MlirAttribute attr)
Set SymName attribute of llzk::verif::ContractOp Operation.
bool llzkOperationIsA_Verif_OldOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::OldOp.
MlirOperation llzkVerif_IncludeOpResolveCallable(MlirOperation inp)
Required by CallOpInterface.
Representation of an mlir::ValueRange.
intptr_t size
Number of values in the range.