brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 003b0cd Raw
70 lines · c
1//===-- mlir-c/Dialect/Linalg.h - C API for Linalg dialect -------*- C -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM4// Exceptions.5// See https://llvm.org/LICENSE.txt for license information.6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception7//8//===---------------------------------------------------------------------===//9 10#ifndef MLIR_C_DIALECT_LINALG_H11#define MLIR_C_DIALECT_LINALG_H12 13#include "mlir-c/AffineMap.h"14#include "mlir-c/IR.h"15#include "mlir-c/Support.h"16 17#ifdef __cplusplus18extern "C" {19#endif20 21/// Apply the special region builder for the builtin named Linalg op.22/// Assert that `mlirOp` is a builtin named Linalg op.23MLIR_CAPI_EXPORTED void24mlirLinalgFillBuiltinNamedOpRegion(MlirOperation mlirOp);25 26MLIR_CAPI_EXPORTED bool mlirLinalgIsAContractionOp(MlirOperation op);27 28typedef struct MlirLinalgContractionDimensions {29  MlirAttribute batch;30  MlirAttribute m;31  MlirAttribute n;32  MlirAttribute k;33} MlirLinalgContractionDimensions;34 35MLIR_CAPI_EXPORTED MlirLinalgContractionDimensions36mlirLinalgInferContractionDimensions(MlirOperation op);37 38MLIR_CAPI_EXPORTED MlirLinalgContractionDimensions39mlirLinalgInferContractionDimensionsFromMaps(const MlirAffineMap *indexingMaps,40                                             size_t numMaps);41 42MLIR_CAPI_EXPORTED bool mlirLinalgIsAConvolutionOp(MlirOperation op);43 44typedef struct MlirLinalgConvolutionDimensions {45  MlirAttribute batch;46  MlirAttribute outputImage;47  MlirAttribute outputChannel;48  MlirAttribute filterLoop;49  MlirAttribute inputChannel;50  MlirAttribute depth;51  MlirAttribute strides;52  MlirAttribute dilations;53} MlirLinalgConvolutionDimensions;54 55MLIR_CAPI_EXPORTED MlirLinalgConvolutionDimensions56mlirLinalgInferConvolutionDimensions(MlirOperation op);57 58MLIR_CAPI_EXPORTED MlirAttribute59mlirLinalgGetIndexingMapsAttribute(MlirOperation op);60 61MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Linalg, linalg);62 63#ifdef __cplusplus64}65#endif66 67#include "mlir/Dialect/Linalg/Passes.capi.h.inc"68 69#endif // MLIR_C_DIALECT_LINALG_H70