LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
Function.cpp File Reference
#include "llzk/CAPI/Builder.h"
#include "llzk/CAPI/Support.h"
#include "llzk/Dialect/Function/IR/Dialect.h"
#include "llzk/Dialect/Function/IR/Ops.h"
#include "llzk-c/Dialect/Function.h"
#include <mlir/CAPI/IR.h>
#include <mlir/CAPI/Pass.h>
#include <mlir/CAPI/Registration.h>
#include <mlir/CAPI/Wrap.h>
#include <mlir/IR/Attributes.h>
#include <mlir/IR/BuiltinAttributes.h>
#include <mlir-c/IR.h>
#include <mlir-c/Pass.h>
#include <llvm/ADT/SmallVectorExtras.h>
Include dependency graph for Function.cpp:

Go to the source code of this file.

Functions

MlirOperation llzkFuncDefOpCreateWithAttrsAndArgAttrs (MlirLocation location, MlirStringRef name, MlirType funcType, intptr_t numAttrs, MlirNamedAttribute const *attrs, intptr_t numArgAttrs, MlirAttribute const *argAttrs)
 Creates a FuncDefOp with the given attributes and argument attributes.
bool llzkOperationIsAFuncDefOp (MlirOperation op)
bool llzkFuncDefOpGetHasAllowConstraintAttr (MlirOperation op)
void llzkFuncDefOpSetAllowConstraintAttr (MlirOperation op, bool value)
 Sets the allow_constraint attribute in the FuncDefOp operation.
bool llzkFuncDefOpGetHasAllowWitnessAttr (MlirOperation op)
void llzkFuncDefOpSetAllowWitnessAttr (MlirOperation op, bool value)
 Sets the allow_witness attribute in the FuncDefOp operation.
bool llzkFuncDefOpGetHasArgIsPub (MlirOperation op, unsigned argNo)
MlirAttribute llzkFuncDefOpGetFullyQualifiedName (MlirOperation op)
 Returns the fully qualified name of the function.
bool llzkFuncDefOpGetNameIsCompute (MlirOperation op)
bool llzkFuncDefOpGetNameIsConstrain (MlirOperation op)
bool llzkFuncDefOpGetIsInStruct (MlirOperation op)
bool llzkFuncDefOpGetIsStructCompute (MlirOperation op)
bool llzkFuncDefOpGetIsStructConstrain (MlirOperation op)
MlirValue llzkFuncDefOpGetSelfValueFromCompute (MlirOperation op)
 Return the "self" value (i.e.
MlirValue llzkFuncDefOpGetSelfValueFromConstrain (MlirOperation op)
 Return the "self" value (i.e.
MlirType llzkFuncDefOpGetSingleResultTypeOfCompute (MlirOperation op)
 Assuming the function is the compute function returns its StructType result.
 LLZK_DEFINE_OP_BUILD_METHOD (CallOp, intptr_t numResults, MlirType const *results, MlirAttribute name, intptr_t numOperands, MlirValue const *operands)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (CallOp, ToCallee, MlirOperation callee, intptr_t numOperands, MlirValue const *operands)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (CallOp, WithMapOperands, intptr_t numResults, MlirType const *results, MlirAttribute name, intptr_t numMapOperands, MlirValueRange const *mapOperands, MlirAttribute numDimsPerMap, intptr_t numArgOperands, MlirValue const *argOperands)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (CallOp, WithMapOperandsAndDims, intptr_t numResults, MlirType const *results, MlirAttribute name, intptr_t numMapOperands, MlirValueRange const *mapOperands, intptr_t numDimsPermMapLength, int32_t const *numDimsPerMap, intptr_t numArgOperands, MlirValue const *argOperands)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (CallOp, ToCalleeWithMapOperands, MlirOperation callee, intptr_t numMapOperands, MlirValueRange const *mapOperands, MlirAttribute numDimsPerMap, intptr_t numArgOperands, MlirValue const *argOperands)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (CallOp, ToCalleeWithMapOperandsAndDims, MlirOperation callee, intptr_t numMapOperands, MlirValueRange const *mapOperands, intptr_t numDimsPermMapLength, int32_t const *numDimsPerMap, intptr_t numArgOperands, MlirValue const *argOperands)
bool llzkOperationIsACallOp (MlirOperation op)
MlirType llzkCallOpGetCalleeType (MlirOperation op)
 Returns the FunctionType of the callee.
bool llzkCallOpGetCalleeIsCompute (MlirOperation op)
bool llzkCallOpGetCalleeIsConstrain (MlirOperation op)
bool llzkCallOpGetCalleeIsStructCompute (MlirOperation op)
bool llzkCallOpGetCalleeIsStructConstrain (MlirOperation op)
MlirValue llzkCallOpGetSelfValueFromCompute (MlirOperation op)
 Return the "self" value (i.e.
MlirValue llzkCallOpGetSelfValueFromConstrain (MlirOperation op)
 Return the "self" value (i.e.
MlirType llzkCallOpGetSingleResultTypeOfCompute (MlirOperation op)
 Assuming the callee is the compute function, returns its StructType result.

Function Documentation

◆ LLZK_DEFINE_OP_BUILD_METHOD()

LLZK_DEFINE_OP_BUILD_METHOD ( CallOp ,
intptr_t numResults,
MlirType const * results,
MlirAttribute name,
intptr_t numOperands,
MlirValue const * operands )

Definition at line 136 of file Function.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [1/5]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( CallOp ,
ToCallee ,
MlirOperation callee,
intptr_t numOperands,
MlirValue const * operands )

Definition at line 150 of file Function.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [2/5]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( CallOp ,
ToCalleeWithMapOperands ,
MlirOperation callee,
intptr_t numMapOperands,
MlirValueRange const * mapOperands,
MlirAttribute numDimsPerMap,
intptr_t numArgOperands,
MlirValue const * argOperands )

Definition at line 196 of file Function.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [3/5]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( CallOp ,
ToCalleeWithMapOperandsAndDims ,
MlirOperation callee,
intptr_t numMapOperands,
MlirValueRange const * mapOperands,
intptr_t numDimsPermMapLength,
int32_t const * numDimsPerMap,
intptr_t numArgOperands,
MlirValue const * argOperands )

Definition at line 211 of file Function.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [4/5]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( CallOp ,
WithMapOperands ,
intptr_t numResults,
MlirType const * results,
MlirAttribute name,
intptr_t numMapOperands,
MlirValueRange const * mapOperands,
MlirAttribute numDimsPerMap,
intptr_t numArgOperands,
MlirValue const * argOperands )

Definition at line 161 of file Function.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [5/5]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( CallOp ,
WithMapOperandsAndDims ,
intptr_t numResults,
MlirType const * results,
MlirAttribute name,
intptr_t numMapOperands,
MlirValueRange const * mapOperands,
intptr_t numDimsPermMapLength,
int32_t const * numDimsPerMap,
intptr_t numArgOperands,
MlirValue const * argOperands )

Definition at line 178 of file Function.cpp.

◆ llzkCallOpGetCalleeIsCompute()

bool llzkCallOpGetCalleeIsCompute ( MlirOperation op)

Definition at line 233 of file Function.cpp.

◆ llzkCallOpGetCalleeIsConstrain()

bool llzkCallOpGetCalleeIsConstrain ( MlirOperation op)

Definition at line 237 of file Function.cpp.

◆ llzkCallOpGetCalleeIsStructCompute()

bool llzkCallOpGetCalleeIsStructCompute ( MlirOperation op)

Definition at line 241 of file Function.cpp.

◆ llzkCallOpGetCalleeIsStructConstrain()

bool llzkCallOpGetCalleeIsStructConstrain ( MlirOperation op)

Definition at line 245 of file Function.cpp.

◆ llzkCallOpGetCalleeType()

MlirType llzkCallOpGetCalleeType ( MlirOperation op)

Returns the FunctionType of the callee.

Definition at line 229 of file Function.cpp.

◆ llzkCallOpGetSelfValueFromCompute()

MlirValue llzkCallOpGetSelfValueFromCompute ( MlirOperation op)

Return the "self" value (i.e.

the return value) from the callee function (which must be named FUNC_NAME_COMPUTE).

Definition at line 251 of file Function.cpp.

◆ llzkCallOpGetSelfValueFromConstrain()

MlirValue llzkCallOpGetSelfValueFromConstrain ( MlirOperation op)

Return the "self" value (i.e.

the first parameter) from the callee function (which must be named FUNC_NAME_CONSTRAIN).

Definition at line 257 of file Function.cpp.

◆ llzkCallOpGetSingleResultTypeOfCompute()

MlirType llzkCallOpGetSingleResultTypeOfCompute ( MlirOperation op)

Assuming the callee is the compute function, returns its StructType result.

Definition at line 261 of file Function.cpp.

◆ llzkFuncDefOpCreateWithAttrsAndArgAttrs()

MlirOperation llzkFuncDefOpCreateWithAttrsAndArgAttrs ( MlirLocation location,
MlirStringRef name,
MlirType funcType,
intptr_t numAttrs,
MlirNamedAttribute const * attrs,
intptr_t numArgAttrs,
MlirAttribute const * argAttrs )

Creates a FuncDefOp with the given attributes and argument attributes.

Each argument attribute has to be a DictionaryAttr.

Definition at line 45 of file Function.cpp.

◆ llzkFuncDefOpGetFullyQualifiedName()

MlirAttribute llzkFuncDefOpGetFullyQualifiedName ( MlirOperation op)

Returns the fully qualified name of the function.

Definition at line 85 of file Function.cpp.

◆ llzkFuncDefOpGetHasAllowConstraintAttr()

bool llzkFuncDefOpGetHasAllowConstraintAttr ( MlirOperation op)

Definition at line 65 of file Function.cpp.

◆ llzkFuncDefOpGetHasAllowWitnessAttr()

bool llzkFuncDefOpGetHasAllowWitnessAttr ( MlirOperation op)

Definition at line 73 of file Function.cpp.

◆ llzkFuncDefOpGetHasArgIsPub()

bool llzkFuncDefOpGetHasArgIsPub ( MlirOperation op,
unsigned argNo )

Definition at line 81 of file Function.cpp.

◆ llzkFuncDefOpGetIsInStruct()

bool llzkFuncDefOpGetIsInStruct ( MlirOperation op)

Definition at line 97 of file Function.cpp.

◆ llzkFuncDefOpGetIsStructCompute()

bool llzkFuncDefOpGetIsStructCompute ( MlirOperation op)

Definition at line 101 of file Function.cpp.

◆ llzkFuncDefOpGetIsStructConstrain()

bool llzkFuncDefOpGetIsStructConstrain ( MlirOperation op)

Definition at line 105 of file Function.cpp.

◆ llzkFuncDefOpGetNameIsCompute()

bool llzkFuncDefOpGetNameIsCompute ( MlirOperation op)

Definition at line 89 of file Function.cpp.

◆ llzkFuncDefOpGetNameIsConstrain()

bool llzkFuncDefOpGetNameIsConstrain ( MlirOperation op)

Definition at line 93 of file Function.cpp.

◆ llzkFuncDefOpGetSelfValueFromCompute()

MlirValue llzkFuncDefOpGetSelfValueFromCompute ( MlirOperation op)

Return the "self" value (i.e.

the return value) from the function (which must be named FUNC_NAME_COMPUTE).

Definition at line 111 of file Function.cpp.

◆ llzkFuncDefOpGetSelfValueFromConstrain()

MlirValue llzkFuncDefOpGetSelfValueFromConstrain ( MlirOperation op)

Return the "self" value (i.e.

the first parameter) from the function (which must be named FUNC_NAME_CONSTRAIN).

Definition at line 117 of file Function.cpp.

◆ llzkFuncDefOpGetSingleResultTypeOfCompute()

MlirType llzkFuncDefOpGetSingleResultTypeOfCompute ( MlirOperation op)

Assuming the function is the compute function returns its StructType result.

Assuming the function is the compute function, returns its StructType result.

Definition at line 122 of file Function.cpp.

◆ llzkFuncDefOpSetAllowConstraintAttr()

void llzkFuncDefOpSetAllowConstraintAttr ( MlirOperation op,
bool value )

Sets the allow_constraint attribute in the FuncDefOp operation.

Definition at line 69 of file Function.cpp.

◆ llzkFuncDefOpSetAllowWitnessAttr()

void llzkFuncDefOpSetAllowWitnessAttr ( MlirOperation op,
bool value )

Sets the allow_witness attribute in the FuncDefOp operation.

Definition at line 77 of file Function.cpp.

◆ llzkOperationIsACallOp()

bool llzkOperationIsACallOp ( MlirOperation op)

Definition at line 227 of file Function.cpp.

◆ llzkOperationIsAFuncDefOp()

bool llzkOperationIsAFuncDefOp ( MlirOperation op)

Definition at line 63 of file Function.cpp.