[llvm] [mlir] Add missing dialects to C API (PR #82190)

Sergio Sánchez Ramírez via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 22 11:06:13 PST 2025


https://github.com/mofeing updated https://github.com/llvm/llvm-project/pull/82190

>From 463c5bc8a262fc1b737c650bcdfb9f5097664a1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <sergio.sanchez.ramirez+git at bsc.es>
Date: Sun, 18 Feb 2024 22:49:24 +0100
Subject: [PATCH 1/8] Add missing dialects to C API

---
 mlir/include/mlir-c/Dialect/AMX.h           | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/Affine.h        | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/ArmNeon.h       | 26 +++++++++++++++++++++
 mlir/include/mlir-c/Dialect/ArmSME.h        | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/ArmSVE.h        | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/Bufferization.h | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/DLTI.h          | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/MPI.h           | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/OpenACC.h       | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/PDLInterp.h     | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/Ptr.h           | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/Shard.h         | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/Tosa.h          | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/UB.h            | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/WasmSSA.h       | 25 ++++++++++++++++++++
 mlir/include/mlir-c/Dialect/XeGPU.h         | 25 ++++++++++++++++++++
 mlir/include/mlir-c/X86Vector.h             | 25 ++++++++++++++++++++
 17 files changed, 426 insertions(+)
 create mode 100644 mlir/include/mlir-c/Dialect/AMX.h
 create mode 100644 mlir/include/mlir-c/Dialect/Affine.h
 create mode 100644 mlir/include/mlir-c/Dialect/ArmNeon.h
 create mode 100644 mlir/include/mlir-c/Dialect/ArmSME.h
 create mode 100644 mlir/include/mlir-c/Dialect/ArmSVE.h
 create mode 100644 mlir/include/mlir-c/Dialect/Bufferization.h
 create mode 100644 mlir/include/mlir-c/Dialect/DLTI.h
 create mode 100644 mlir/include/mlir-c/Dialect/MPI.h
 create mode 100644 mlir/include/mlir-c/Dialect/OpenACC.h
 create mode 100644 mlir/include/mlir-c/Dialect/PDLInterp.h
 create mode 100644 mlir/include/mlir-c/Dialect/Ptr.h
 create mode 100644 mlir/include/mlir-c/Dialect/Shard.h
 create mode 100644 mlir/include/mlir-c/Dialect/Tosa.h
 create mode 100644 mlir/include/mlir-c/Dialect/UB.h
 create mode 100644 mlir/include/mlir-c/Dialect/WasmSSA.h
 create mode 100644 mlir/include/mlir-c/Dialect/XeGPU.h
 create mode 100644 mlir/include/mlir-c/X86Vector.h

diff --git a/mlir/include/mlir-c/Dialect/AMX.h b/mlir/include/mlir-c/Dialect/AMX.h
new file mode 100644
index 0000000000000..ac4695a107ae6
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/AMX.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/AMX.h - C API for AMX Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_AMX_H
+#define MLIR_C_DIALECT_AMX_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(AMX, amx);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_AMX_H
diff --git a/mlir/include/mlir-c/Dialect/Affine.h b/mlir/include/mlir-c/Dialect/Affine.h
new file mode 100644
index 0000000000000..0f4e010f91255
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Affine.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/Affine.h - C API for Affine Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_AFFINE_H
+#define MLIR_C_DIALECT_AFFINE_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Affine, affine);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_AFFINE_H
diff --git a/mlir/include/mlir-c/Dialect/ArmNeon.h b/mlir/include/mlir-c/Dialect/ArmNeon.h
new file mode 100644
index 0000000000000..fdc859d9ff631
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/ArmNeon.h
@@ -0,0 +1,26 @@
+//===-- mlir-c/Dialect/ArmNeon.h - C API for ArmNeon Dialect --------*- C
+//-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_ARMNEON_H
+#define MLIR_C_DIALECT_ARMNEON_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(ArmNeon, arm_neon);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_ARMNEON_H
diff --git a/mlir/include/mlir-c/Dialect/ArmSME.h b/mlir/include/mlir-c/Dialect/ArmSME.h
new file mode 100644
index 0000000000000..a27f38e5b65f4
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/ArmSME.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/ArmSME.h - C API for ArmSME Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_ARMSME_H
+#define MLIR_C_DIALECT_ARMSME_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(ArmSME, arm_sme);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_ARMSME_H
diff --git a/mlir/include/mlir-c/Dialect/ArmSVE.h b/mlir/include/mlir-c/Dialect/ArmSVE.h
new file mode 100644
index 0000000000000..8f5838c630446
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/ArmSVE.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/ArmSVE.h - C API for ArmSVE Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_ARMSME_H
+#define MLIR_C_DIALECT_ARMSME_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(ArmSVE, arm_sve);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_ARMSME_H
diff --git a/mlir/include/mlir-c/Dialect/Bufferization.h b/mlir/include/mlir-c/Dialect/Bufferization.h
new file mode 100644
index 0000000000000..76c2c16be53b2
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Bufferization.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/Bufferization.h - C API for Bufferization Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_BUFFERIZATION_H
+#define MLIR_C_DIALECT_BUFFERIZATION_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Bufferization, bufferization);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_BUFFERIZATION_H
diff --git a/mlir/include/mlir-c/Dialect/DLTI.h b/mlir/include/mlir-c/Dialect/DLTI.h
new file mode 100644
index 0000000000000..d0f79d9c4bc6a
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/DLTI.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/DLTI.h - C API for DLTI Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_DLTI_H
+#define MLIR_C_DIALECT_DLTI_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(DLTI, dlti);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_DLTI_H
diff --git a/mlir/include/mlir-c/Dialect/MPI.h b/mlir/include/mlir-c/Dialect/MPI.h
new file mode 100644
index 0000000000000..c90c3db7bdcc6
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/MPI.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/MPI.h - C API for MPI Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_MPI_H
+#define MLIR_C_DIALECT_MPI_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(MPI, mpi);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_MPI_H
diff --git a/mlir/include/mlir-c/Dialect/OpenACC.h b/mlir/include/mlir-c/Dialect/OpenACC.h
new file mode 100644
index 0000000000000..c37e75d2a23da
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/OpenACC.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/OpenACC.h - C API for OpenACC Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_OPENACC_H
+#define MLIR_C_DIALECT_OPENACC_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(OpenACC, acc);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_OPENACC_H
diff --git a/mlir/include/mlir-c/Dialect/PDLInterp.h b/mlir/include/mlir-c/Dialect/PDLInterp.h
new file mode 100644
index 0000000000000..49a5a7a934a98
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/PDLInterp.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/PDLInterp.h - C API for PDLInterp Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_PDLINTERP_H
+#define MLIR_C_DIALECT_PDLINTERP_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(PDLInterp, pdl_interp);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_PDLINTERP_H
diff --git a/mlir/include/mlir-c/Dialect/Ptr.h b/mlir/include/mlir-c/Dialect/Ptr.h
new file mode 100644
index 0000000000000..ef3cf35fb1456
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Ptr.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/Ptr.h - C API for Ptr Dialect --------------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_PTR_H
+#define MLIR_C_DIALECT_PTR_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Ptr, ptr);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_PTR_H
diff --git a/mlir/include/mlir-c/Dialect/Shard.h b/mlir/include/mlir-c/Dialect/Shard.h
new file mode 100644
index 0000000000000..39fe2d59b44d3
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Shard.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/Shard.h - C API for Shard Dialect ----------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_SHARD_H
+#define MLIR_C_DIALECT_SHARD_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Shard, shard);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_SHARD_H
diff --git a/mlir/include/mlir-c/Dialect/Tosa.h b/mlir/include/mlir-c/Dialect/Tosa.h
new file mode 100644
index 0000000000000..b16a1d86c258a
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Tosa.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/Tosa.h - C API for Tosa Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_TOSA_H
+#define MLIR_C_DIALECT_TOSA_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Tosa, tosa);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_TOSA_H
diff --git a/mlir/include/mlir-c/Dialect/UB.h b/mlir/include/mlir-c/Dialect/UB.h
new file mode 100644
index 0000000000000..e9d64348a1727
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/UB.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/UB.h - C API for UB Dialect --------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_UB_H
+#define MLIR_C_DIALECT_UB_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(UB, ub);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_UB_H
diff --git a/mlir/include/mlir-c/Dialect/WasmSSA.h b/mlir/include/mlir-c/Dialect/WasmSSA.h
new file mode 100644
index 0000000000000..76ddb90469478
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/WasmSSA.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/WasmSSA.h - C API for WasmSSA Dialect ------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_WASMSSA_H
+#define MLIR_C_DIALECT_WASMSSA_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(WasmSSA, wasmssa);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_WASMSSA_H
diff --git a/mlir/include/mlir-c/Dialect/XeGPU.h b/mlir/include/mlir-c/Dialect/XeGPU.h
new file mode 100644
index 0000000000000..7faf7297a141f
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/XeGPU.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/XeGPU.h - C API for XeGPU Dialect ----------*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_XEGPU_H
+#define MLIR_C_DIALECT_XEGPU_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(XeGPU, xegpu);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_XEGPU_H
diff --git a/mlir/include/mlir-c/X86Vector.h b/mlir/include/mlir-c/X86Vector.h
new file mode 100644
index 0000000000000..673870e32162d
--- /dev/null
+++ b/mlir/include/mlir-c/X86Vector.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/x86Vector.h - C API for x86Vector Dialect --*- C -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
+// Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef MLIR_C_DIALECT_X86VECTOR_H
+#define MLIR_C_DIALECT_X86VECTOR_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(X86Vector, x86vector);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_X86VECTOR_H

>From 2692a58cc073c950c054f7f0037a61d5daee5932 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <sergio.sanchez.ramirez+git at bsc.es>
Date: Sun, 18 Feb 2024 23:14:40 +0100
Subject: [PATCH 2/8] Format code

---
 mlir/include/mlir-c/Dialect/Bufferization.h | 3 ++-
 mlir/include/mlir-c/Dialect/OpenACC.h       | 3 ++-
 mlir/include/mlir-c/Dialect/PDLInterp.h     | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/mlir/include/mlir-c/Dialect/Bufferization.h b/mlir/include/mlir-c/Dialect/Bufferization.h
index 76c2c16be53b2..9c4ef19e5493d 100644
--- a/mlir/include/mlir-c/Dialect/Bufferization.h
+++ b/mlir/include/mlir-c/Dialect/Bufferization.h
@@ -1,4 +1,5 @@
-//===-- mlir-c/Dialect/Bufferization.h - C API for Bufferization Dialect --------*- C -*-===//
+//===-- mlir-c/Dialect/Bufferization.h - C API for Bufferization Dialect
+//--------*- C -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM
 // Exceptions.
diff --git a/mlir/include/mlir-c/Dialect/OpenACC.h b/mlir/include/mlir-c/Dialect/OpenACC.h
index c37e75d2a23da..8ceb004b0f653 100644
--- a/mlir/include/mlir-c/Dialect/OpenACC.h
+++ b/mlir/include/mlir-c/Dialect/OpenACC.h
@@ -1,4 +1,5 @@
-//===-- mlir-c/Dialect/OpenACC.h - C API for OpenACC Dialect --------*- C -*-===//
+//===-- mlir-c/Dialect/OpenACC.h - C API for OpenACC Dialect --------*- C
+//-*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM
 // Exceptions.
diff --git a/mlir/include/mlir-c/Dialect/PDLInterp.h b/mlir/include/mlir-c/Dialect/PDLInterp.h
index 49a5a7a934a98..7212196f0168b 100644
--- a/mlir/include/mlir-c/Dialect/PDLInterp.h
+++ b/mlir/include/mlir-c/Dialect/PDLInterp.h
@@ -1,4 +1,5 @@
-//===-- mlir-c/Dialect/PDLInterp.h - C API for PDLInterp Dialect --------*- C -*-===//
+//===-- mlir-c/Dialect/PDLInterp.h - C API for PDLInterp Dialect --------*- C
+//-*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM
 // Exceptions.

>From 0acad78720436abb2ced0c5aaeab1a7c3603e836 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <sergio.sanchez.ramirez+git at bsc.es>
Date: Sun, 18 Feb 2024 23:40:18 +0100
Subject: [PATCH 3/8] Add pass support to C API

---
 mlir/include/mlir-c/Dialect/AMDGPU.h                          | 2 ++
 mlir/include/mlir-c/Dialect/Affine.h                          | 2 ++
 mlir/include/mlir-c/Dialect/Arith.h                           | 2 ++
 mlir/include/mlir-c/Dialect/ArmSME.h                          | 2 ++
 mlir/include/mlir-c/Dialect/ArmSVE.h                          | 2 ++
 mlir/include/mlir-c/Dialect/Bufferization.h                   | 2 ++
 mlir/include/mlir-c/Dialect/EmitC.h                           | 2 ++
 mlir/include/mlir-c/Dialect/Func.h                            | 2 ++
 mlir/include/mlir-c/Dialect/LLVM.h                            | 2 ++
 mlir/include/mlir-c/Dialect/MLProgram.h                       | 2 ++
 mlir/include/mlir-c/Dialect/Math.h                            | 2 ++
 mlir/include/mlir-c/Dialect/MemRef.h                          | 2 ++
 mlir/include/mlir-c/Dialect/NVGPU.h                           | 2 ++
 mlir/include/mlir-c/Dialect/OpenACC.h                         | 2 ++
 mlir/include/mlir-c/Dialect/SCF.h                             | 2 ++
 mlir/include/mlir-c/Dialect/SPIRV.h                           | 2 ++
 mlir/include/mlir-c/Dialect/Shape.h                           | 2 ++
 mlir/include/mlir-c/Dialect/Tensor.h                          | 2 ++
 mlir/include/mlir-c/Dialect/Tosa.h                            | 2 ++
 mlir/include/mlir-c/Dialect/Transform.h                       | 2 ++
 mlir/include/mlir-c/Dialect/Vector.h                          | 2 ++
 mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt    | 2 ++
 mlir/include/mlir/Dialect/Affine/CMakeLists.txt               | 2 ++
 mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt     | 2 ++
 mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt    | 2 ++
 mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt    | 2 ++
 .../mlir/Dialect/Bufferization/Transforms/CMakeLists.txt      | 2 ++
 mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt     | 2 ++
 mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt      | 2 ++
 mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt    | 2 ++
 mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt | 2 ++
 mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt      | 2 ++
 mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt    | 2 ++
 mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt   | 2 ++
 mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt    | 4 +++-
 mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt     | 2 ++
 mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt       | 2 ++
 mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt     | 3 ++-
 mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt     | 2 ++
 mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt     | 2 ++
 mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt    | 2 ++
 mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt      | 4 ++++
 mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt | 2 ++
 mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt    | 2 ++
 mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt     | 2 ++
 45 files changed, 93 insertions(+), 2 deletions(-)

diff --git a/mlir/include/mlir-c/Dialect/AMDGPU.h b/mlir/include/mlir-c/Dialect/AMDGPU.h
index 83cfe8f5dd65e..acfdb1e1b5008 100644
--- a/mlir/include/mlir-c/Dialect/AMDGPU.h
+++ b/mlir/include/mlir-c/Dialect/AMDGPU.h
@@ -55,4 +55,6 @@ MLIR_CAPI_EXPORTED MlirType mlirAMDGPUTDMGatherBaseTypeGet(MlirContext ctx,
 }
 #endif
 
+#include "mlir/Dialect/AMDGPU/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_AMDGPU_H
diff --git a/mlir/include/mlir-c/Dialect/Affine.h b/mlir/include/mlir-c/Dialect/Affine.h
index 0f4e010f91255..a5359c7ffc157 100644
--- a/mlir/include/mlir-c/Dialect/Affine.h
+++ b/mlir/include/mlir-c/Dialect/Affine.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Affine, affine);
 }
 #endif
 
+#include "mlir/Dialect/Affine/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_AFFINE_H
diff --git a/mlir/include/mlir-c/Dialect/Arith.h b/mlir/include/mlir-c/Dialect/Arith.h
index 41e7cb2b3a34a..af2e7c2e69287 100644
--- a/mlir/include/mlir-c/Dialect/Arith.h
+++ b/mlir/include/mlir-c/Dialect/Arith.h
@@ -30,4 +30,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Arith, arith);
 }
 #endif
 
+#include "mlir/Dialect/Arith/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_ARITH_H
diff --git a/mlir/include/mlir-c/Dialect/ArmSME.h b/mlir/include/mlir-c/Dialect/ArmSME.h
index a27f38e5b65f4..e3c628f3a6df9 100644
--- a/mlir/include/mlir-c/Dialect/ArmSME.h
+++ b/mlir/include/mlir-c/Dialect/ArmSME.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(ArmSME, arm_sme);
 }
 #endif
 
+#include "mlir/Dialect/ArmSME/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_ARMSME_H
diff --git a/mlir/include/mlir-c/Dialect/ArmSVE.h b/mlir/include/mlir-c/Dialect/ArmSVE.h
index 8f5838c630446..e9d63572c6fff 100644
--- a/mlir/include/mlir-c/Dialect/ArmSVE.h
+++ b/mlir/include/mlir-c/Dialect/ArmSVE.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(ArmSVE, arm_sve);
 }
 #endif
 
+#include "mlir/Dialect/ArmSVE/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_ARMSME_H
diff --git a/mlir/include/mlir-c/Dialect/Bufferization.h b/mlir/include/mlir-c/Dialect/Bufferization.h
index 9c4ef19e5493d..1bdbd14603028 100644
--- a/mlir/include/mlir-c/Dialect/Bufferization.h
+++ b/mlir/include/mlir-c/Dialect/Bufferization.h
@@ -23,4 +23,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Bufferization, bufferization);
 }
 #endif
 
+#include "mlir/Dialect/Bufferization/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_BUFFERIZATION_H
diff --git a/mlir/include/mlir-c/Dialect/EmitC.h b/mlir/include/mlir-c/Dialect/EmitC.h
index a0e3ea08a5a9f..ff59e4e6cafa9 100644
--- a/mlir/include/mlir-c/Dialect/EmitC.h
+++ b/mlir/include/mlir-c/Dialect/EmitC.h
@@ -134,4 +134,6 @@ MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCOpaqueAttrGetTypeID(void);
 }
 #endif
 
+#include "mlir/Dialect/EmitC/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_EmitC_H
diff --git a/mlir/include/mlir-c/Dialect/Func.h b/mlir/include/mlir-c/Dialect/Func.h
index 001f915af1054..30204273bc774 100644
--- a/mlir/include/mlir-c/Dialect/Func.h
+++ b/mlir/include/mlir-c/Dialect/Func.h
@@ -43,4 +43,6 @@ MLIR_CAPI_EXPORTED void mlirFuncSetResultAttr(MlirOperation op, intptr_t pos,
 }
 #endif
 
+#include "mlir/Dialect/Func/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_FUNC_H
diff --git a/mlir/include/mlir-c/Dialect/LLVM.h b/mlir/include/mlir-c/Dialect/LLVM.h
index cc7f09f71d028..de677d1d5c6d1 100644
--- a/mlir/include/mlir-c/Dialect/LLVM.h
+++ b/mlir/include/mlir-c/Dialect/LLVM.h
@@ -399,4 +399,6 @@ mlirLLVMDIModuleAttrGetScope(MlirAttribute diModule);
 }
 #endif
 
+#include "mlir/Dialect/LLVMIR/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_LLVM_H
diff --git a/mlir/include/mlir-c/Dialect/MLProgram.h b/mlir/include/mlir-c/Dialect/MLProgram.h
index 0874955e35b27..df3a1f28e6ac6 100644
--- a/mlir/include/mlir-c/Dialect/MLProgram.h
+++ b/mlir/include/mlir-c/Dialect/MLProgram.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(MLProgram, ml_program);
 }
 #endif
 
+#include "mlir/Dialect/MLProgram/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_MLPROGRAM_H
diff --git a/mlir/include/mlir-c/Dialect/Math.h b/mlir/include/mlir-c/Dialect/Math.h
index 5269e1a1b2cb0..5dd975f1a86a4 100644
--- a/mlir/include/mlir-c/Dialect/Math.h
+++ b/mlir/include/mlir-c/Dialect/Math.h
@@ -30,4 +30,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Math, math);
 }
 #endif
 
+#include "mlir/Dialect/Math/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_MATH_H
diff --git a/mlir/include/mlir-c/Dialect/MemRef.h b/mlir/include/mlir-c/Dialect/MemRef.h
index 087a4b3f85b1d..327fe25143f8e 100644
--- a/mlir/include/mlir-c/Dialect/MemRef.h
+++ b/mlir/include/mlir-c/Dialect/MemRef.h
@@ -30,4 +30,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(MemRef, memref);
 }
 #endif
 
+#include "mlir/Dialect/MemRef/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_MEMREF_H
diff --git a/mlir/include/mlir-c/Dialect/NVGPU.h b/mlir/include/mlir-c/Dialect/NVGPU.h
index e58015a4a3421..b76cf2587c83b 100644
--- a/mlir/include/mlir-c/Dialect/NVGPU.h
+++ b/mlir/include/mlir-c/Dialect/NVGPU.h
@@ -33,4 +33,6 @@ MLIR_CAPI_EXPORTED MlirType mlirNVGPUTensorMapDescriptorTypeGet(
 }
 #endif
 
+#include "mlir/Dialect/NVGPU/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_NVGPU_H
diff --git a/mlir/include/mlir-c/Dialect/OpenACC.h b/mlir/include/mlir-c/Dialect/OpenACC.h
index 8ceb004b0f653..d552b8561b8d2 100644
--- a/mlir/include/mlir-c/Dialect/OpenACC.h
+++ b/mlir/include/mlir-c/Dialect/OpenACC.h
@@ -23,4 +23,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(OpenACC, acc);
 }
 #endif
 
+#include "mlir/Dialect/OpenACC/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_OPENACC_H
diff --git a/mlir/include/mlir-c/Dialect/SCF.h b/mlir/include/mlir-c/Dialect/SCF.h
index 75f1b6839a21d..4d536b004f5ee 100644
--- a/mlir/include/mlir-c/Dialect/SCF.h
+++ b/mlir/include/mlir-c/Dialect/SCF.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(SCF, scf);
 }
 #endif
 
+#include "mlir/Dialect/SCF/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_SCF_H
diff --git a/mlir/include/mlir-c/Dialect/SPIRV.h b/mlir/include/mlir-c/Dialect/SPIRV.h
index f22708c9db043..8b3af0f39b8b8 100644
--- a/mlir/include/mlir-c/Dialect/SPIRV.h
+++ b/mlir/include/mlir-c/Dialect/SPIRV.h
@@ -23,4 +23,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(SPIRV, spirv);
 }
 #endif
 
+#include "mlir/Dialect/SPIRV/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_SPIRV_H
diff --git a/mlir/include/mlir-c/Dialect/Shape.h b/mlir/include/mlir-c/Dialect/Shape.h
index 3fe3ddf5c578d..5681fdf8cbe4c 100644
--- a/mlir/include/mlir-c/Dialect/Shape.h
+++ b/mlir/include/mlir-c/Dialect/Shape.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Shape, shape);
 }
 #endif
 
+#include "mlir/Dialect/Shape/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_SHAPE_H
diff --git a/mlir/include/mlir-c/Dialect/Tensor.h b/mlir/include/mlir-c/Dialect/Tensor.h
index 74cbc5a6f0fe1..6fb52fa00177c 100644
--- a/mlir/include/mlir-c/Dialect/Tensor.h
+++ b/mlir/include/mlir-c/Dialect/Tensor.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Tensor, tensor);
 }
 #endif
 
+#include "mlir/Dialect/Tensor/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_TENSOR_H
diff --git a/mlir/include/mlir-c/Dialect/Tosa.h b/mlir/include/mlir-c/Dialect/Tosa.h
index b16a1d86c258a..8550f47ee0bbf 100644
--- a/mlir/include/mlir-c/Dialect/Tosa.h
+++ b/mlir/include/mlir-c/Dialect/Tosa.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Tosa, tosa);
 }
 #endif
 
+#include "mlir/Dialect/Tosa/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_TOSA_H
diff --git a/mlir/include/mlir-c/Dialect/Transform.h b/mlir/include/mlir-c/Dialect/Transform.h
index 02c99b5921882..f5a02aba9e2be 100644
--- a/mlir/include/mlir-c/Dialect/Transform.h
+++ b/mlir/include/mlir-c/Dialect/Transform.h
@@ -80,4 +80,6 @@ MLIR_CAPI_EXPORTED MlirType mlirTransformParamTypeGetType(MlirType type);
 }
 #endif
 
+#include "mlir/Dialect/Transform/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_TRANSFORM_H
diff --git a/mlir/include/mlir-c/Dialect/Vector.h b/mlir/include/mlir-c/Dialect/Vector.h
index 6256c82d172ce..0afb93b0d175e 100644
--- a/mlir/include/mlir-c/Dialect/Vector.h
+++ b/mlir/include/mlir-c/Dialect/Vector.h
@@ -30,4 +30,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Vector, vector);
 }
 #endif
 
+#include "mlir/Dialect/Vector/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_VECTOR_H
diff --git a/mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt
index 1371923d017ef..81cb7e04a3c4d 100644
--- a/mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name AMDGPU)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix AMDGPU)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix AMDGPU)
 add_mlir_dialect_tablegen_target(MLIRAMDGPUTransformsIncGen)
 
 add_mlir_doc(Passes AMDGPUPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
index b4b904eebd4b1..90342e1ceaf88 100644
--- a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
@@ -3,6 +3,8 @@ add_subdirectory(TransformOps)
 
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Affine)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Affine)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Affine)
 add_mlir_dialect_tablegen_target(MLIRAffinePassIncGen)
 
 add_mlir_doc(Passes AffinePasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt
index 7ae716554601e..c540241bd2667 100644
--- a/mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Arith)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Arith)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Arith)
 add_mlir_dialect_tablegen_target(MLIRArithTransformsIncGen)
 
 add_mlir_doc(Passes ArithPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
index a96d1d966277c..41020bc1d1546 100644
--- a/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
@@ -2,6 +2,8 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name ArmSME)
 mlir_tablegen(PassesEnums.h.inc -gen-enum-decls)
 mlir_tablegen(PassesEnums.cpp.inc -gen-enum-defs)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix ArmSME)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix ArmSME)
 add_mlir_dialect_tablegen_target(MLIRArmSMETransformsIncGen)
 
 add_mlir_doc(Passes ArmSMEPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt
index 39601d67ec4c3..4999fd2cef1b5 100644
--- a/mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name ArmSVE)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix ArmSVE)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix ArmSVE)
 add_mlir_dialect_tablegen_target(MLIRArmSVEPassIncGen)
 
 add_mlir_doc(Passes ArmSVEPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt
index dcdd49ca201ef..09d0d2360b1f6 100644
--- a/mlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Bufferization)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Bufferization)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Bufferization)
 add_mlir_dialect_tablegen_target(MLIRBufferizationPassIncGen)
 
 add_mlir_doc(Passes BufferizationPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt
index bf3b4b2902de8..3a35aa0a7c1b0 100644
--- a/mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name EmitC)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix EmitC)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix EmitC)
 add_mlir_dialect_tablegen_target(MLIREmitCTransformsIncGen)
 
 add_mlir_doc(Passes EmitCPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt
index 4ca022859c03a..3819bada90ee0 100644
--- a/mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Func)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Func)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Func)
 add_mlir_dialect_tablegen_target(MLIRFuncTransformsIncGen)
 
 add_mlir_doc(Passes FuncPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
index 04e5a0fe85450..eaca9e9cc5f1d 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name LLVM)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix LLVM)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix LLVM)
 add_mlir_dialect_tablegen_target(MLIRLLVMPassIncGen)
 
 add_mlir_doc(Passes LLVMPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt
index 5fa6bdcc5d79c..657c86e401332 100644
--- a/mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name MLProgram)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix MLProgram)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix MLProgram)
 add_mlir_dialect_tablegen_target(MLIRMLProgramPassIncGen)
 
 add_mlir_doc(Passes MLProgramPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt
index c452372b51e1b..497ac08964c7d 100644
--- a/mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Math)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Math)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Math)
 add_mlir_dialect_tablegen_target(MLIRMathTransformsIncGen)
 
 add_mlir_doc(Passes MathPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
index e46eae55e57b0..31437448a8bf4 100644
--- a/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name MemRef)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix MemRef)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix MemRef)
 add_mlir_dialect_tablegen_target(MLIRMemRefPassIncGen)
 
 add_mlir_doc(Passes MemRefPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
index 9459f8b03946b..81e987a4e8933 100644
--- a/mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name OpenACC)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix OpenACC)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix OpenACC)
 add_mlir_dialect_tablegen_target(MLIROpenACCPassIncGen)
 
 add_mlir_doc(Passes OpenACCPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt
index 22f0d92ea4cbf..f90f4ec07f09b 100644
--- a/mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name OpenMP)
-add_public_tablegen_target(MLIROpenMPPassIncGen)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix OpenMP)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix OpenMP)
+add_mlir_dialect_tablegen_target(MLIROpenMPPassIncGen)
 
 add_mlir_doc(Passes OpenMPPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt
index a920f84c6f4b7..43120df51d931 100644
--- a/mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Quant)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Quant)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Quant)
 add_mlir_dialect_tablegen_target(MLIRQuantTransformsIncGen)
 
 add_mlir_doc(Passes QuantPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
index c1fda9e48a01d..ed4b365594628 100644
--- a/mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name SCF)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix SCF)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix SCF)
 add_mlir_dialect_tablegen_target(MLIRSCFPassIncGen)
 
 add_mlir_doc(Passes SCFPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
index d0990c7acfa25..a3eb69764a4cd 100644
--- a/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
@@ -1,6 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name SPIRV)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix SPIRV)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix SPIRV)
 add_mlir_dialect_tablegen_target(MLIRSPIRVPassIncGen)
 
 add_mlir_doc(Passes SPIRVPasses ./ -gen-pass-doc)
-
diff --git a/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
index 991bd68e24d62..5f006d9cb34ca 100644
--- a/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Shape)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Shape)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Shape)
 add_mlir_dialect_tablegen_target(MLIRShapeTransformsIncGen)
 
 add_mlir_doc(Passes ShapePasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
index 840ff9eabdc54..dec7d63c01974 100644
--- a/mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Shard)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Shard)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Shard)
 add_mlir_dialect_tablegen_target(MLIRShardPassIncGen)
 
 add_mlir_doc(Passes ShardPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
index 5c9c9b289bd73..e07a98f72d192 100644
--- a/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Tensor)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Tensor)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Tensor)
 add_mlir_dialect_tablegen_target(MLIRTensorTransformsIncGen)
 
 add_mlir_doc(Passes TensorPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
index f52b82a964da9..d528ea8539146 100644
--- a/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
@@ -1,5 +1,9 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name TosaOpt)
+mlir_tablegen(PassesEnums.h.inc -gen-enum-decls)
+mlir_tablegen(PassesEnums.cpp.inc -gen-enum-defs)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Tosa)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Tosa)
 add_mlir_dialect_tablegen_target(MLIRTosaPassIncGen)
 
 add_mlir_doc(Passes TosaPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt
index b804802eef2b9..057a9cefefff2 100644
--- a/mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Transform)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Transform)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Transform)
 add_mlir_dialect_tablegen_target(MLIRTransformDialectTransformsIncGen)
 
 add_mlir_doc(Passes TransformPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt
index c3c7ec93564c9..52e3741880725 100644
--- a/mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt
@@ -4,6 +4,8 @@ mlir_tablegen(VectorTransformsEnums.cpp.inc -gen-enum-defs)
 
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name Vector)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Vector)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix Vector)
 add_mlir_dialect_tablegen_target(MLIRVectorTransformsIncGen)
 
 add_mlir_doc(Passes VectorPasses ./ -gen-pass-doc)
diff --git a/mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
index 77ca255bf4da8..0f4b8d8d55ccc 100644
--- a/mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name XeGPU)
+mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix XeGPU)
+mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix XeGPU)
 add_mlir_dialect_tablegen_target(MLIRXeGPUPassIncGen)
 
 add_mlir_doc(Passes XeGPUPasses ./ -gen-pass-doc)

>From 8dd509856a9fef9e6a77e36bf2d033db3d5d4cba Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <15837247+mofeing at users.noreply.github.com>
Date: Tue, 13 Aug 2024 19:22:40 +0200
Subject: [PATCH 4/8] Apply suggestions from code review

---
 mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt | 2 --
 1 file changed, 2 deletions(-)

diff --git a/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
index 41020bc1d1546..f95377043481b 100644
--- a/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
@@ -1,7 +1,5 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name ArmSME)
-mlir_tablegen(PassesEnums.h.inc -gen-enum-decls)
-mlir_tablegen(PassesEnums.cpp.inc -gen-enum-defs)
 mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix ArmSME)
 mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix ArmSME)
 add_mlir_dialect_tablegen_target(MLIRArmSMETransformsIncGen)

>From e5a1d23c00055a2e7e2e5dccf3a0dce0b5cac526 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <15837247+mofeing at users.noreply.github.com>
Date: Thu, 15 Aug 2024 16:45:35 +0200
Subject: [PATCH 5/8] Update
 mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt

---
 mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
index f95377043481b..964d91cd0c7ee 100644
--- a/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
@@ -2,6 +2,8 @@ set(LLVM_TARGET_DEFINITIONS Passes.td)
 mlir_tablegen(Passes.h.inc -gen-pass-decls -name ArmSME)
 mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix ArmSME)
 mlir_tablegen(Passes.capi.cpp.inc -gen-pass-capi-impl --prefix ArmSME)
+mlir_tablegen(PassesEnums.h.inc -gen-enum-decls)
+mlir_tablegen(PassesEnums.cpp.inc -gen-enum-defs)
 add_mlir_dialect_tablegen_target(MLIRArmSMETransformsIncGen)
 
 add_mlir_doc(Passes ArmSMEPasses ./ -gen-pass-doc)

>From 8e55b2e7569a897898b82e6f2cf9b8a63aced00b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <mofeing+github at gmail.com>
Date: Mon, 22 Dec 2025 19:37:46 +0100
Subject: [PATCH 6/8] Fix path of X86Vector.h

---
 mlir/include/mlir-c/{ => Dialect}/X86Vector.h | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename mlir/include/mlir-c/{ => Dialect}/X86Vector.h (100%)

diff --git a/mlir/include/mlir-c/X86Vector.h b/mlir/include/mlir-c/Dialect/X86Vector.h
similarity index 100%
rename from mlir/include/mlir-c/X86Vector.h
rename to mlir/include/mlir-c/Dialect/X86Vector.h

>From 5dbb4c74c6e4fed7a7bcb5cf3ebf8e1b6972679f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <mofeing+github at gmail.com>
Date: Mon, 22 Dec 2025 19:49:58 +0100
Subject: [PATCH 7/8] include Shard transform passes on CAPI

---
 mlir/include/mlir-c/Dialect/Shard.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mlir/include/mlir-c/Dialect/Shard.h b/mlir/include/mlir-c/Dialect/Shard.h
index 39fe2d59b44d3..ba85a80f2144f 100644
--- a/mlir/include/mlir-c/Dialect/Shard.h
+++ b/mlir/include/mlir-c/Dialect/Shard.h
@@ -22,4 +22,6 @@ MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Shard, shard);
 }
 #endif
 
+#include "mlir/Dialect/Shard/Transforms/Passes.capi.h.inc"
+
 #endif // MLIR_C_DIALECT_SHARD_H

>From c6d763de1d950aa2171e22728a744f3e474de43a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
 <mofeing+github at gmail.com>
Date: Mon, 22 Dec 2025 20:05:53 +0100
Subject: [PATCH 8/8] Rename references from TosaOpt to Tosa

---
 mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt | 2 +-
 mlir/lib/RegisterAllPasses.cpp                           | 2 +-
 utils/bazel/llvm-project-overlay/mlir/BUILD.bazel        | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
index d528ea8539146..7913a1e30d2e0 100644
--- a/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
@@ -1,5 +1,5 @@
 set(LLVM_TARGET_DEFINITIONS Passes.td)
-mlir_tablegen(Passes.h.inc -gen-pass-decls -name TosaOpt)
+mlir_tablegen(Passes.h.inc -gen-pass-decls -name Tosa)
 mlir_tablegen(PassesEnums.h.inc -gen-enum-decls)
 mlir_tablegen(PassesEnums.cpp.inc -gen-enum-defs)
 mlir_tablegen(Passes.capi.h.inc -gen-pass-capi-header --prefix Tosa)
diff --git a/mlir/lib/RegisterAllPasses.cpp b/mlir/lib/RegisterAllPasses.cpp
index d7e321a61d4ac..f5c72a8590b83 100644
--- a/mlir/lib/RegisterAllPasses.cpp
+++ b/mlir/lib/RegisterAllPasses.cpp
@@ -87,7 +87,7 @@ void mlir::registerAllPasses() {
   registerShapePasses();
   spirv::registerSPIRVPasses();
   tensor::registerTensorPasses();
-  tosa::registerTosaOptPasses();
+  tosa::registerTosaPasses();
   transform::registerTransformPasses();
   vector::registerVectorPasses();
   arm_sme::registerArmSMEPasses();
diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
index 23672b06c9312..4bdd87c3545b5 100644
--- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
@@ -11920,15 +11920,15 @@ gentbl_cc_library(
     tbl_outs = {
         "include/mlir/Dialect/Tosa/Transforms/Passes.h.inc": [
             "-gen-pass-decls",
-            "-name=TosaOpt",
+            "-name=Tosa",
         ],
         "include/mlir/Dialect/Tosa/Transforms/PassesEnums.h.inc": [
             "-gen-enum-decls",
-            "-name=TosaOpt",
+            "-name=Tosa",
         ],
         "include/mlir/Dialect/Tosa/Transforms/PassesEnums.cpp.inc": [
             "-gen-enum-defs",
-            "-name=TosaOpt",
+            "-name=Tosa",
         ],
     },
     tblgen = ":mlir-tblgen",



More information about the llvm-commits mailing list