18#ifndef LLZK_C_DIALECT_POD_H
19#define LLZK_C_DIALECT_POD_H
23#include <mlir-c/BuiltinAttributes.h>
25#include <mlir-c/Support.h>
59MLIR_CAPI_EXPORTED MlirAttribute
87MLIR_CAPI_EXPORTED MlirType
94MLIR_CAPI_EXPORTED MlirType
105 Pod, NewPodOp, InferredFromInitialValues, intptr_t nValues,
LlzkRecordValue const *values
112 Pod, NewPodOp, MlirType type, intptr_t nValues,
LlzkRecordValue const *values
119 Pod, NewPodOp, WithMapOperands, MlirType type, intptr_t nValues,
LlzkRecordValue const *values,
MLIR_CAPI_EXPORTED MlirType llzkPod_PodTypeLookupRecordWithinLocation(MlirType type, MlirStringRef name, MlirLocation loc)
Lookups a record type by name.
MLIR_CAPI_EXPORTED MlirAttribute llzkPod_RecordAttrGetInferredContext(MlirIdentifier name, MlirType type)
Creates a new llzk::pod::RecordAttr using the MlirContext of the given type.
MLIR_CAPI_EXPORTED MlirType llzkPod_PodTypeLookupRecord(MlirType type, MlirStringRef name)
Lookups a record type by name.
MLIR_CAPI_EXPORTED MlirType llzkPod_PodTypeLookupRecordWithinOperation(MlirType type, MlirStringRef name, MlirOperation op)
Lookups a record type by name.
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(POD, llzk__pod)
Get reference to the LLZK pod dialect.
MLIR_CAPI_EXPORTED void llzkPod_PodTypeGetRecords(MlirType type, MlirAttribute *dst)
Writes the records into the given array that must have been previously allocated with enough space.
MLIR_CAPI_EXPORTED 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.
#define LLZK_DECLARE_SUFFIX_OP_BUILD_METHOD(dialect, op, suffix,...)
#define LLZK_DECLARE_OP_BUILD_METHOD(dialect, op,...)
Encapsulates the arguments related to affine maps that are common in operation constructors that supp...
Information needed to define a pod RecordAttr given a name and a value that will be stored in the rec...
MlirValue value
Initial value for the record.
MlirStringRef name
Record name.