18#ifndef LLZK_C_DIALECT_POLYMORPHIC_H
19#define LLZK_C_DIALECT_POLYMORPHIC_H
23#include <mlir-c/AffineExpr.h>
24#include <mlir-c/AffineMap.h>
26#include <mlir-c/Support.h>
45MLIR_CAPI_EXPORTED MlirType
94 Poly, ApplyMapOp, MlirAttribute affineMapAttr,
MlirValueRange operands
99 Poly, ApplyMapOp, WithAffineMap, MlirAffineMap affineMap,
MlirValueRange operands
104 Poly, ApplyMapOp, WithAffineExpr, MlirAffineExpr affineExpr,
MlirValueRange operands
MLIR_CAPI_EXPORTED MlirType llzkPoly_TypeVarTypeGetFromStringRef(MlirContext context, MlirStringRef value)
Creates a llzk::polymorphic::TypeVarType.
MLIR_CAPI_EXPORTED intptr_t llzkPoly_ApplyMapOpGetNumSymbolOperands(MlirOperation op)
Returns the number of operands that correspond to symbols in the affine map.
MLIR_CAPI_EXPORTED MlirType llzkPoly_TypeVarTypeGetFromAttr(MlirAttribute value)
Creates a llzk::polymorphic::TypeVarType from either a StringAttr or a FlatSymbolRefAttr.
MLIR_CAPI_EXPORTED void llzkPoly_ApplyMapOpGetSymbolOperands(MlirOperation op, MlirValue *dst)
Writes into the destination buffer the operands that correspond to symbols in the affine map.
MLIR_CAPI_EXPORTED intptr_t llzkPoly_ApplyMapOpGetNumDimOperands(MlirOperation op)
Returns the number of operands that correspond to dimensions in the affine map.
MLIR_CAPI_EXPORTED intptr_t llzkPoly_TemplateOpNumConstExprOps(MlirOperation op)
Returns the number of TemplateExprOp children in the TemplateOp.
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Polymorphic, llzk__polymorphic)
Get reference to the LLZK poly dialect.
MLIR_CAPI_EXPORTED void llzkPoly_TemplateOpGetConstExprNames(MlirOperation op, MlirAttribute *dst)
Writes into the destination buffer the names of all TemplateExprOp children as FlatSymbolRefAttr attr...
MLIR_CAPI_EXPORTED bool llzkPoly_TemplateOpHasConstParamOps(MlirOperation op)
Returns true if the TemplateOp has any TemplateParamOp children.
MLIR_CAPI_EXPORTED bool llzkPoly_TemplateOpHasConstParamNamed(MlirOperation op, MlirStringRef find)
Returns true if the TemplateOp has a TemplateParamOp with the given name.
MLIR_CAPI_EXPORTED void llzkPoly_TemplateOpGetConstParamNames(MlirOperation op, MlirAttribute *dst)
Writes into the destination buffer the names of all TemplateParamOp children as FlatSymbolRefAttr att...
MLIR_CAPI_EXPORTED void llzkPoly_ApplyMapOpGetDimOperands(MlirOperation op, MlirValue *dst)
Writes into the destination buffer the operands that correspond to dimensions in the affine map.
MLIR_CAPI_EXPORTED bool llzkPoly_TemplateOpHasConstExprNamed(MlirOperation op, MlirStringRef find)
Returns true if the TemplateOp has a TemplateExprOp with the given name.
MLIR_CAPI_EXPORTED intptr_t llzkPoly_TemplateOpNumConstParamOps(MlirOperation op)
Returns the number of TemplateParamOp children in the TemplateOp.
MLIR_CAPI_EXPORTED bool llzkPoly_TemplateOpHasConstExprOps(MlirOperation op)
Returns true if the TemplateOp has any TemplateExprOp children.
MLIR_CAPI_EXPORTED MlirBlock llzkPoly_TemplateOpGetBody(MlirOperation op)
Returns the single body Block within the TemplateOp's Region.
#define LLZK_DECLARE_SUFFIX_OP_BUILD_METHOD(dialect, op, suffix,...)
#define LLZK_DECLARE_OP_BUILD_METHOD(dialect, op,...)
Representation of an mlir::ValueRange