[Mlir-commits] [mlir] [CAPI] add C API typedef to fix downstream C API usage (PR #135380)

Bangtian Liu llvmlistbot at llvm.org
Fri Apr 11 07:34:15 PDT 2025


https://github.com/bangtianliu created https://github.com/llvm/llvm-project/pull/135380

This PR is after #135253 and #134935 to fix the error reported by https://github.com/llvm/llvm-project/pull/135253#issuecomment-2796077024. This PR Adds typedef declarations for `MlirLinalgContractionDimensions `and `MlirLinalgConvolutionDimensions` in the C API to ensure compatibility with pure C code.

I confirm that this fix resolves the reported error based on my testing.

>From ed023062da38ef78f45825b4cb68fe0d90b4cb44 Mon Sep 17 00:00:00 2001
From: Bangtian Liu <liubangtian at gmail.com>
Date: Fri, 11 Apr 2025 07:34:27 -0700
Subject: [PATCH] [CAPI] add C API typedef usage

Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
---
 mlir/include/mlir-c/Dialect/Linalg.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/mlir/include/mlir-c/Dialect/Linalg.h b/mlir/include/mlir-c/Dialect/Linalg.h
index 838c280903e2e..4f2ee0d434222 100644
--- a/mlir/include/mlir-c/Dialect/Linalg.h
+++ b/mlir/include/mlir-c/Dialect/Linalg.h
@@ -24,19 +24,19 @@ mlirLinalgFillBuiltinNamedOpRegion(MlirOperation mlirOp);
 
 MLIR_CAPI_EXPORTED bool mlirLinalgIsAContractionOp(MlirOperation op);
 
-struct MlirLinalgContractionDimensions {
+typedef struct MlirLinalgContractionDimensions {
   MlirAttribute batch;
   MlirAttribute m;
   MlirAttribute n;
   MlirAttribute k;
-};
+} MlirLinalgContractionDimensions;
 
 MLIR_CAPI_EXPORTED MlirLinalgContractionDimensions
 mlirLinalgInferContractionDimensions(MlirOperation op);
 
 MLIR_CAPI_EXPORTED bool mlirLinalgIsAConvolutionOp(MlirOperation op);
 
-struct MlirLinalgConvolutionDimensions {
+typedef struct MlirLinalgConvolutionDimensions {
   MlirAttribute batch;
   MlirAttribute outputImage;
   MlirAttribute outputChannel;
@@ -45,7 +45,7 @@ struct MlirLinalgConvolutionDimensions {
   MlirAttribute depth;
   MlirAttribute strides;
   MlirAttribute dilations;
-};
+} MlirLinalgConvolutionDimensions;
 
 MLIR_CAPI_EXPORTED MlirLinalgConvolutionDimensions
 mlirLinalgInferConvolutionDimensions(MlirOperation op);



More information about the Mlir-commits mailing list