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 134 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 146 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 186 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 199 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 155 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 170 of file Function.cpp.

◆ llzkCallOpGetCalleeIsCompute()

bool llzkCallOpGetCalleeIsCompute ( MlirOperation op)

Definition at line 219 of file Function.cpp.

◆ llzkCallOpGetCalleeIsConstrain()

bool llzkCallOpGetCalleeIsConstrain ( MlirOperation op)

Definition at line 223 of file Function.cpp.

◆ llzkCallOpGetCalleeIsStructCompute()

bool llzkCallOpGetCalleeIsStructCompute ( MlirOperation op)

Definition at line 227 of file Function.cpp.

◆ llzkCallOpGetCalleeIsStructConstrain()

bool llzkCallOpGetCalleeIsStructConstrain ( MlirOperation op)

Definition at line 231 of file Function.cpp.

◆ llzkCallOpGetCalleeType()

MlirType llzkCallOpGetCalleeType ( MlirOperation op)

Returns the FunctionType of the callee.

Definition at line 215 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 237 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 243 of file Function.cpp.

◆ llzkCallOpGetSingleResultTypeOfCompute()

MlirType llzkCallOpGetSingleResultTypeOfCompute ( MlirOperation op)

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

Definition at line 247 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 83 of file Function.cpp.

◆ llzkFuncDefOpGetHasAllowConstraintAttr()

bool llzkFuncDefOpGetHasAllowConstraintAttr ( MlirOperation op)

Definition at line 63 of file Function.cpp.

◆ llzkFuncDefOpGetHasAllowWitnessAttr()

bool llzkFuncDefOpGetHasAllowWitnessAttr ( MlirOperation op)

Definition at line 71 of file Function.cpp.

◆ llzkFuncDefOpGetHasArgIsPub()

bool llzkFuncDefOpGetHasArgIsPub ( MlirOperation op,
unsigned argNo )

Definition at line 79 of file Function.cpp.

◆ llzkFuncDefOpGetIsInStruct()

bool llzkFuncDefOpGetIsInStruct ( MlirOperation op)

Definition at line 95 of file Function.cpp.

◆ llzkFuncDefOpGetIsStructCompute()

bool llzkFuncDefOpGetIsStructCompute ( MlirOperation op)

Definition at line 99 of file Function.cpp.

◆ llzkFuncDefOpGetIsStructConstrain()

bool llzkFuncDefOpGetIsStructConstrain ( MlirOperation op)

Definition at line 103 of file Function.cpp.

◆ llzkFuncDefOpGetNameIsCompute()

bool llzkFuncDefOpGetNameIsCompute ( MlirOperation op)

Definition at line 87 of file Function.cpp.

◆ llzkFuncDefOpGetNameIsConstrain()

bool llzkFuncDefOpGetNameIsConstrain ( MlirOperation op)

Definition at line 91 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 109 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 115 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 120 of file Function.cpp.

◆ llzkFuncDefOpSetAllowConstraintAttr()

void llzkFuncDefOpSetAllowConstraintAttr ( MlirOperation op,
bool value )

Sets the allow_constraint attribute in the FuncDefOp operation.

Definition at line 67 of file Function.cpp.

◆ llzkFuncDefOpSetAllowWitnessAttr()

void llzkFuncDefOpSetAllowWitnessAttr ( MlirOperation op,
bool value )

Sets the allow_witness attribute in the FuncDefOp operation.

Definition at line 75 of file Function.cpp.

◆ llzkOperationIsACallOp()

bool llzkOperationIsACallOp ( MlirOperation op)

Definition at line 213 of file Function.cpp.

◆ llzkOperationIsAFuncDefOp()

bool llzkOperationIsAFuncDefOp ( MlirOperation op)

Definition at line 61 of file Function.cpp.