LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
llzk::function Namespace Reference

Namespaces

namespace  detail

Classes

class  CallOp
class  CallOpAdaptor
class  CallOpGenericAdaptor
class  ConstraintGen
 Marker for ops that are specific to constraint generation. More...
class  FuncDefOp
class  FuncDefOpAdaptor
class  FuncDefOpGenericAdaptor
class  FunctionDialect
class  ReturnOp
class  ReturnOpAdaptor
class  ReturnOpGenericAdaptor
class  WitnessGen
 Marker for ops that are specific to witness generation. More...

Enumerations

enum class  FunctionKind : std::uint8_t { StructCompute , StructConstrain , StructProduct , Free }
 Kinds of functions in LLZK. More...

Functions

FunctionKind fnNameToKind (mlir::StringRef name)
 Given a function name, return the corresponding FunctionKind.
LogicalResult verifyConstraintGenTraitImpl (Operation *op)
LogicalResult verifyWitnessGenTraitImpl (Operation *op)
mlir::LogicalResult verifyConstraintGenTraitImpl (mlir::Operation *op)
mlir::LogicalResult verifyWitnessGenTraitImpl (mlir::Operation *op)

Enumeration Type Documentation

◆ FunctionKind

enum class llzk::function::FunctionKind : std::uint8_t
strong

Kinds of functions in LLZK.

Enumerator
StructCompute 

Function within a struct named FUNC_NAME_COMPUTE.

StructConstrain 

Function within a struct named FUNC_NAME_CONSTRAIN.

StructProduct 

Function within a struct named FUNC_NAME_PRODUCT.

Free 

Function that is not within a struct.

Definition at line 32 of file Ops.h.

Function Documentation

◆ fnNameToKind()

FunctionKind llzk::function::fnNameToKind ( mlir::StringRef name)

Given a function name, return the corresponding FunctionKind.

One caveat to note is that this cannot check if the function is actually within a struct (it only checks if the name is one of the special names for struct functions defined in include/llzk/Util/Constants.h) so, regardless of the FunctionKind returned, the function may still be a free function and additional checks may be necessary.

Definition at line 41 of file Ops.cpp.

◆ verifyConstraintGenTraitImpl() [1/2]

mlir::LogicalResult llzk::function::verifyConstraintGenTraitImpl ( mlir::Operation * op)

◆ verifyConstraintGenTraitImpl() [2/2]

LogicalResult llzk::function::verifyConstraintGenTraitImpl ( Operation * op)

Definition at line 30 of file OpTraits.cpp.

◆ verifyWitnessGenTraitImpl() [1/2]

mlir::LogicalResult llzk::function::verifyWitnessGenTraitImpl ( mlir::Operation * op)

◆ verifyWitnessGenTraitImpl() [2/2]

LogicalResult llzk::function::verifyWitnessGenTraitImpl ( Operation * op)

Definition at line 38 of file OpTraits.cpp.