LLZK 2.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
POD.cpp File Reference
#include "llzk-c/Dialect/POD.h"
#include "llzk-c/Support.h"
#include "llzk/CAPI/Builder.h"
#include "llzk/CAPI/Support.h"
#include "llzk/Dialect/POD/IR/Ops.h"
#include "llzk/Dialect/POD/IR/Types.h"
#include <mlir-c/IR.h>
#include <mlir/CAPI/IR.h>
#include <mlir/CAPI/Registration.h>
#include <mlir/CAPI/Support.h>
#include <mlir/CAPI/Wrap.h>
#include <mlir/IR/Attributes.h>
#include <mlir/IR/Diagnostics.h>
#include <mlir/Support/LLVM.h>
#include <llvm/ADT/STLExtras.h>
#include <llvm/ADT/SmallVectorExtras.h>
#include <cstdint>
#include "llzk/Dialect/POD/IR/Attrs.capi.cpp.inc"
#include "llzk/Dialect/POD/IR/Ops.capi.cpp.inc"
#include "llzk/Dialect/POD/IR/Types.capi.cpp.inc"
Include dependency graph for POD.cpp:

Go to the source code of this file.

Functions

MlirAttribute llzkPod_RecordAttrGetInferredContext (MlirIdentifier name, MlirType type)
 Creates a new llzk::pod::RecordAttr using the MlirContext of the given type.
MlirType llzkPod_PodTypeGetFromInitialValues (MlirContext context, intptr_t nRecords, LlzkRecordValue const *records)
 Creates an llzk::pod::PodType using a list of values for inferring the records.
void llzkPod_PodTypeGetRecords (MlirType type, MlirAttribute *dst)
 Writes the records into the given array that must have been previously allocated with enough space.
MlirType llzkPod_PodTypeLookupRecord (MlirType type, MlirStringRef name)
 Lookups a record type by name.
MlirType llzkPod_PodTypeLookupRecordWithinLocation (MlirType type, MlirStringRef name, MlirLocation loc)
 Lookups a record type by name.
MlirType llzkPod_PodTypeLookupRecordWithinOperation (MlirType type, MlirStringRef name, MlirOperation op)
 Lookups a record type by name.
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (Pod, NewPodOp, InferredFromInitialValues, intptr_t nValues, LlzkRecordValue const *values)
 LLZK_DEFINE_OP_BUILD_METHOD (Pod, NewPodOp, MlirType type, intptr_t nValues, LlzkRecordValue const *values)
 LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD (Pod, NewPodOp, WithMapOperands, MlirType type, intptr_t nValues, LlzkRecordValue const *values, LlzkAffineMapOperandsBuilder mapOperands)

Function Documentation

◆ LLZK_DEFINE_OP_BUILD_METHOD()

LLZK_DEFINE_OP_BUILD_METHOD ( Pod ,
NewPodOp ,
MlirType type,
intptr_t nValues,
LlzkRecordValue const * values )

Definition at line 129 of file POD.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [1/2]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( Pod ,
NewPodOp ,
InferredFromInitialValues ,
intptr_t nValues,
LlzkRecordValue const * values )

Definition at line 122 of file POD.cpp.

◆ LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD() [2/2]

LLZK_DEFINE_SUFFIX_OP_BUILD_METHOD ( Pod ,
NewPodOp ,
WithMapOperands ,
MlirType type,
intptr_t nValues,
LlzkRecordValue const * values,
LlzkAffineMapOperandsBuilder mapOperands )

Definition at line 136 of file POD.cpp.

◆ llzkPod_PodTypeGetFromInitialValues()

MlirType llzkPod_PodTypeGetFromInitialValues ( MlirContext context,
intptr_t nRecords,
LlzkRecordValue const * records )

Creates an llzk::pod::PodType using a list of values for inferring the records.

Definition at line 69 of file POD.cpp.

◆ llzkPod_PodTypeGetRecords()

void llzkPod_PodTypeGetRecords ( MlirType type,
MlirAttribute * dst )

Writes the records into the given array that must have been previously allocated with enough space.

See llzkPod_PodTypeGetRecordsCount

Definition at line 76 of file POD.cpp.

◆ llzkPod_PodTypeLookupRecord()

MlirType llzkPod_PodTypeLookupRecord ( MlirType type,
MlirStringRef name )

Lookups a record type by name.

If the record is not found reports an error without any location information and the returned type is NULL.

Definition at line 95 of file POD.cpp.

◆ llzkPod_PodTypeLookupRecordWithinLocation()

MlirType llzkPod_PodTypeLookupRecordWithinLocation ( MlirType type,
MlirStringRef name,
MlirLocation loc )

Lookups a record type by name.

If the record is not found reports an error at the given location information and the returned type is NULL.

Definition at line 104 of file POD.cpp.

◆ llzkPod_PodTypeLookupRecordWithinOperation()

MlirType llzkPod_PodTypeLookupRecordWithinOperation ( MlirType type,
MlirStringRef name,
MlirOperation op )

Lookups a record type by name.

If the record is not found reports an error using the given operation for location information and the returned type is NULL.

Definition at line 112 of file POD.cpp.

◆ llzkPod_RecordAttrGetInferredContext()

MlirAttribute llzkPod_RecordAttrGetInferredContext ( MlirIdentifier name,
MlirType type )

Creates a new llzk::pod::RecordAttr using the MlirContext of the given type.

Definition at line 60 of file POD.cpp.