18#ifndef LLZK_C_DIALECT_POLYMORPHIC_H
19#define LLZK_C_DIALECT_POLYMORPHIC_H
25#include <mlir-c/AffineExpr.h>
26#include <mlir-c/AffineMap.h>
28#include <mlir-c/Support.h>
64 ApplyMapOp, WithAffineMap, MlirAffineMap affineMap,
MlirValueRange operands
69 ApplyMapOp, WithAffineExpr, MlirAffineExpr affineExpr,
MlirValueRange operands
MLIR_CAPI_EXPORTED intptr_t llzkApplyMapOpGetNumSymbolOperands(MlirOperation op)
Returns the number of operands that correspond to symbols in the affine map.
MLIR_CAPI_EXPORTED void llzkApplyMapOpGetSymbolOperands(MlirOperation op, MlirValue *dst)
Writes into the destination buffer the operands that correspond to symbols in the affine map.
MLIR_CAPI_EXPORTED MlirAffineMap llzkApplyMapOpGetAffineMap(MlirOperation op)
Returns the affine map associated with the op.
MLIR_CAPI_EXPORTED void llzkApplyMapOpGetDimOperands(MlirOperation op, MlirValue *dst)
Writes into the destination buffer the operands that correspond to dimensions in the affine map.
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Polymorphic, llzk__polymorphic)
MLIR_CAPI_EXPORTED MlirAttribute llzkTypeVarTypeGetName(MlirType type)
Returns the var name of the TypeVarType as a FlatSymbolRefAttr.
MLIR_CAPI_EXPORTED intptr_t llzkApplyMapOpGetNumDimOperands(MlirOperation op)
Returns the number of operands that correspond to dimensions in the affine map.
MLIR_CAPI_EXPORTED MlirStringRef llzkTypeVarTypeGetNameRef(MlirType type)
Returns the var name of the TypeVarType as a StringRef.
MLIR_CAPI_EXPORTED MlirType llzkTypeVarTypeGetFromAttr(MlirContext context, MlirAttribute value)
Creates a llzk::polymorphic::TypeVarType from either a StringAttr or a FlatSymbolRefAttr.
MLIR_CAPI_EXPORTED MlirType llzkTypeVarTypeGet(MlirContext context, MlirStringRef value)
Creates a llzk::polymorphic::TypeVarType.
#define LLZK_DECLARE_OP_ISA(what)
#define LLZK_DECLARE_OP_BUILD_METHOD(op,...)
#define LLZK_DECLARE_TYPE_ISA(what)
#define LLZK_DECLARE_SUFFIX_OP_BUILD_METHOD(op, suffix,...)