[llvm] [mlir] [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 16:29:25 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 01/16] 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 02/16] 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 03/16] 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 04/16] 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 05/16] 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 06/16] 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 07/16] 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 08/16] 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",
>From 61d55acc0077d6f3575161372e2f5422264aa883 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 22:43:49 +0100
Subject: [PATCH 09/16] add implementation files for CAPI
---
mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/AMX.cpp | 13 +
mlir/lib/CAPI/Dialect/Affine.cpp | 14 +
mlir/lib/CAPI/Dialect/AffinePasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/ArithPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/ArmNeon.cpp | 14 +
mlir/lib/CAPI/Dialect/ArmSME.cpp | 14 +
mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/ArmSVE.cpp | 14 +
mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/Bufferization.cpp | 14 +
mlir/lib/CAPI/Dialect/BufferizationPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/CMakeLists.txt | 257 +++++++++++++++---
mlir/lib/CAPI/Dialect/DLTI.cpp | 13 +
mlir/lib/CAPI/Dialect/EmitCPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/FuncPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/LLVMPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/MLProgramPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/MPI.cpp | 13 +
mlir/lib/CAPI/Dialect/MathPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/MemRefPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/NVGPUPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/OpenACC.cpp | 14 +
mlir/lib/CAPI/Dialect/OpenACCPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/PDLInterp.cpp | 14 +
mlir/lib/CAPI/Dialect/Ptr.cpp | 13 +
mlir/lib/CAPI/Dialect/SCFPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/SPIRVPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/ShapePasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/Shard.cpp | 13 +
mlir/lib/CAPI/Dialect/ShardPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/TensorPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/Tosa.cpp | 13 +
mlir/lib/CAPI/Dialect/TosaPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/TransformPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/UB.cpp | 13 +
mlir/lib/CAPI/Dialect/VectorPasses.cpp | 25 ++
mlir/lib/CAPI/Dialect/WasmSSA.cpp | 14 +
mlir/lib/CAPI/Dialect/X86Vector.cpp | 14 +
mlir/lib/CAPI/Dialect/XeGPU.cpp | 13 +
40 files changed, 996 insertions(+), 41 deletions(-)
create mode 100644 mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/AMX.cpp
create mode 100644 mlir/lib/CAPI/Dialect/Affine.cpp
create mode 100644 mlir/lib/CAPI/Dialect/AffinePasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ArithPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ArmNeon.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ArmSME.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ArmSVE.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/Bufferization.cpp
create mode 100644 mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/DLTI.cpp
create mode 100644 mlir/lib/CAPI/Dialect/EmitCPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/FuncPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/LLVMPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/MPI.cpp
create mode 100644 mlir/lib/CAPI/Dialect/MathPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/MemRefPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/NVGPUPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/OpenACC.cpp
create mode 100644 mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/PDLInterp.cpp
create mode 100644 mlir/lib/CAPI/Dialect/Ptr.cpp
create mode 100644 mlir/lib/CAPI/Dialect/SCFPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ShapePasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/Shard.cpp
create mode 100644 mlir/lib/CAPI/Dialect/ShardPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/TensorPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/Tosa.cpp
create mode 100644 mlir/lib/CAPI/Dialect/TosaPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/TransformPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/UB.cpp
create mode 100644 mlir/lib/CAPI/Dialect/VectorPasses.cpp
create mode 100644 mlir/lib/CAPI/Dialect/WasmSSA.cpp
create mode 100644 mlir/lib/CAPI/Dialect/X86Vector.cpp
create mode 100644 mlir/lib/CAPI/Dialect/XeGPU.cpp
diff --git a/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp b/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
new file mode 100644
index 0000000000000..a6312c5fc684c
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
@@ -0,0 +1,25 @@
+//===- AMDGPUPasses.cpp - C API for AMDGPU Dialect Passes -----------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/AMDGPU/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/AMDGPU/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/AMDGPU/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/AMX.cpp b/mlir/lib/CAPI/Dialect/AMX.cpp
new file mode 100644
index 0000000000000..2d330ffbd5f84
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/AMX.cpp
@@ -0,0 +1,13 @@
+//===- AMX.cpp - C Interface for AMX dialect ------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/AMX.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/AMX/IR/AMX.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(AMX, amx, mlir::amx::AMXDialect)
diff --git a/mlir/lib/CAPI/Dialect/Affine.cpp b/mlir/lib/CAPI/Dialect/Affine.cpp
new file mode 100644
index 0000000000000..ed37c7d2be669
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/Affine.cpp
@@ -0,0 +1,14 @@
+//===- Affine.cpp - C Interface for Affine dialect ------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/Affine.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/Affine/IR/Affine.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Affine, affine,
+ mlir::affine::AffineDialect)
diff --git a/mlir/lib/CAPI/Dialect/AffinePasses.cpp b/mlir/lib/CAPI/Dialect/AffinePasses.cpp
new file mode 100644
index 0000000000000..2d10cb4f4b9a0
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/AffinePasses.cpp
@@ -0,0 +1,25 @@
+//===- AffinePasses.cpp - C API for Affine Dialect Passes -----------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Affine/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Affine/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/ArithPasses.cpp b/mlir/lib/CAPI/Dialect/ArithPasses.cpp
new file mode 100644
index 0000000000000..abdf425df741a
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArithPasses.cpp
@@ -0,0 +1,25 @@
+//===- ArithPasses.cpp - C API for Arith Dialect Passes -------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Arith/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Arith/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Arith/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/ArmNeon.cpp b/mlir/lib/CAPI/Dialect/ArmNeon.cpp
new file mode 100644
index 0000000000000..67c2ff14a94d2
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmNeon.cpp
@@ -0,0 +1,14 @@
+//===- ArmNeon.cpp - C Interface for ArmNeon dialect ----------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/ArmNeon.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/ArmNeon/IR/ArmNeon.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(ArmNeon, arm_neon,
+ mlir::arm_neon::ArmNeonDialect)
diff --git a/mlir/lib/CAPI/Dialect/ArmSME.cpp b/mlir/lib/CAPI/Dialect/ArmSME.cpp
new file mode 100644
index 0000000000000..05fe166f64491
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSME.cpp
@@ -0,0 +1,14 @@
+//===- ArmSME.cpp - C Interface for ArmSME dialect ------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/ArmSME.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/ArmSME/IR/ArmSME.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(ArmSME, arm_sme,
+ mlir::arm_sme::ArmSMEDialect)
diff --git a/mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp b/mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
new file mode 100644
index 0000000000000..0a1b15053940c
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
@@ -0,0 +1,25 @@
+//===- ArmSMEPasses.cpp - C API for ArmSME Dialect Passes -----------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/ArmSME/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/ArmSME/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/ArmSME/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/ArmSVE.cpp b/mlir/lib/CAPI/Dialect/ArmSVE.cpp
new file mode 100644
index 0000000000000..71df710d73a09
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSVE.cpp
@@ -0,0 +1,14 @@
+//===- ArmSVE.cpp - C Interface for ArmSVE dialect ------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/ArmSVE.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/ArmSVE/IR/ArmSVE.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(ArmSVE, arm_sve,
+ mlir::arm_sve::ArmSVEDialect)
diff --git a/mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp b/mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
new file mode 100644
index 0000000000000..56980f9c19e6d
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
@@ -0,0 +1,25 @@
+//===- ArmSVEPasses.cpp - C API for ArmSVE Dialect Passes -----------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/ArmSVE/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/ArmSVE/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/ArmSVE/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/Bufferization.cpp b/mlir/lib/CAPI/Dialect/Bufferization.cpp
new file mode 100644
index 0000000000000..da50dfaab44b6
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/Bufferization.cpp
@@ -0,0 +1,14 @@
+//===- Bufferization.cpp - C Interface for Bufferization dialect ----------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/Bufferization.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/Bufferization/IR/Bufferization.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Bufferization, bufferization,
+ mlir::bufferization::BufferizationDialect)
diff --git a/mlir/lib/CAPI/Dialect/BufferizationPasses.cpp b/mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
new file mode 100644
index 0000000000000..713f934fa040b
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
@@ -0,0 +1,25 @@
+//===- BufferizationPasses.cpp - C API for Bufferization Dialect Passes ---===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Bufferization/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Bufferization/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Bufferization/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/CMakeLists.txt b/mlir/lib/CAPI/Dialect/CMakeLists.txt
index bb1fdf8be3c8f..1596b27f596df 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -1,5 +1,16 @@
+add_mlir_upstream_c_api_library(MLIRCAPIAffine
+ Affine.cpp
+ AffinePasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRAffineDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIAMDGPU
AMDGPU.cpp
+ AMDGPUPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -7,8 +18,18 @@ add_mlir_upstream_c_api_library(MLIRCAPIAMDGPU
MLIRAMDGPUDialect
)
+add_mlir_upstream_c_api_library(MLIRCAPIAMX
+ AMX.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRAMXDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIArith
Arith.cpp
+ ArithPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -16,6 +37,35 @@ add_mlir_upstream_c_api_library(MLIRCAPIArith
MLIRArithDialect
)
+add_mlir_upstream_c_api_library(MLIRCAPIArmNeon
+ ArmNeon.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRArmNeonDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIArmSME
+ ArmSME.cpp
+ ArmSMEPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRArmSMEDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIArmSVE
+ ArmSVE.cpp
+ ArmSVEPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRArmSVEDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIAsync
Async.cpp
AsyncPasses.cpp
@@ -31,6 +81,16 @@ add_mlir_upstream_c_api_library(MLIRCAPIAsync
MLIRPass
)
+add_mlir_upstream_c_api_library(MLIRCAPIBufferization
+ Bufferization.cpp
+ BufferizationPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRBufferizationDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIControlFlow
ControlFlow.cpp
@@ -40,31 +100,33 @@ add_mlir_upstream_c_api_library(MLIRCAPIControlFlow
MLIRControlFlowDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIEmitC
- EmitC.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIDLTI
+ DLTI.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIREmitCDialect
+ MLIRDLTIDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIMath
- Math.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIEmitC
+ EmitC.cpp
+ EmitCPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRMathDialect
+ MLIREmitCDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIMemRef
- MemRef.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIFunc
+ Func.cpp
+ FuncPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRMemRefDialect
+ MLIRFuncDialect
)
add_mlir_upstream_c_api_library(MLIRCAPIGPU
@@ -99,8 +161,24 @@ add_mlir_upstream_c_api_library(MLIRCAPIIRDL
MLIRIRDL
)
+add_mlir_upstream_c_api_library(MLIRCAPILinalg
+ Linalg.cpp
+ LinalgPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRLinalgPassIncGen
+
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRLinalgDialect
+ MLIRPass
+ MLIRLinalgTransforms
+)
+
add_mlir_upstream_c_api_library(MLIRCAPILLVM
LLVM.cpp
+ LLVMPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -108,23 +186,29 @@ add_mlir_upstream_c_api_library(MLIRCAPILLVM
MLIRLLVMDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPILinalg
- Linalg.cpp
- LinalgPasses.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIMath
+ Math.cpp
+ MathPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRLinalgPassIncGen
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRMathDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIMemRef
+ MemRef.cpp
+ MemRefPasses.cpp
+ PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRLinalgDialect
- MLIRPass
- MLIRLinalgTransforms
+ MLIRMemRefDialect
)
add_mlir_upstream_c_api_library(MLIRCAPIMLProgram
MLProgram.cpp
+ MLProgramPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -132,8 +216,18 @@ add_mlir_upstream_c_api_library(MLIRCAPIMLProgram
MLIRMLProgramDialect
)
+add_mlir_upstream_c_api_library(MLIRCAPIMPI
+ MPI.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRMPIDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPINVGPU
NVGPU.cpp
+ NVGPUPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -150,6 +244,61 @@ add_mlir_upstream_c_api_library(MLIRCAPINVVM
MLIRNVVMDialect
)
+add_mlir_upstream_c_api_library(MLIRCAPIOpenACC
+ OpenACC.cpp
+ OpenACCPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIROpenACCDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIOpenMP
+ OpenMP.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIROpenMPDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIPDL
+ PDL.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRPDLDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIPDLInterp
+ PDLInterp.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRPDLInterpDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIPtr
+ Ptr.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRPtrDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIQuant
+ Quant.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRQuantDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIROCDL
ROCDL.cpp
@@ -159,9 +308,9 @@ add_mlir_upstream_c_api_library(MLIRCAPIROCDL
MLIRROCDLDialect
)
-
add_mlir_upstream_c_api_library(MLIRCAPISCF
SCF.cpp
+ SCFPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -171,6 +320,7 @@ add_mlir_upstream_c_api_library(MLIRCAPISCF
add_mlir_upstream_c_api_library(MLIRCAPIShape
Shape.cpp
+ ShapePasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -178,28 +328,40 @@ add_mlir_upstream_c_api_library(MLIRCAPIShape
MLIRShapeDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPISparseTensor
- SparseTensor.cpp
- SparseTensorPasses.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIShard
+ Shard.cpp
+ ShardPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRSparseTensorDialect
- MLIRSparseTensorTransforms
+ MLIRShardDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIFunc
- Func.cpp
+add_mlir_upstream_c_api_library(MLIRCAPISMT
+ SMT.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRFuncDialect
+ MLIRSMT
+)
+
+
+add_mlir_upstream_c_api_library(MLIRCAPISparseTensor
+ SparseTensor.cpp
+ SparseTensorPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRSparseTensorDialect
+ MLIRSparseTensorTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPISPIRV
SPIRV.cpp
+ SPIRVPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -209,6 +371,7 @@ add_mlir_upstream_c_api_library(MLIRCAPISPIRV
add_mlir_upstream_c_api_library(MLIRCAPITensor
Tensor.cpp
+ TensorPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -216,8 +379,19 @@ add_mlir_upstream_c_api_library(MLIRCAPITensor
MLIRTensorDialect
)
+add_mlir_upstream_c_api_library(MLIRCAPITosa
+ Tosa.cpp
+ TosaPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRTosaDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPITransformDialect
Transform.cpp
+ TransformPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -234,47 +408,48 @@ add_mlir_upstream_c_api_library(MLIRCAPITransformDialectTransforms
MLIRTransformDialectTransforms
)
-add_mlir_upstream_c_api_library(MLIRCAPIQuant
- Quant.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIUB
+ UB.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRQuantDialect
+ MLIRUBDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIOpenMP
- OpenMP.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIVector
+ Vector.cpp
+ VectorPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIROpenMPDialect
+ MLIRVectorDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIPDL
- PDL.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIWasmSSA
+ WasmSSA.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRPDLDialect
+ MLIRWasmSSADialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIVector
- Vector.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIX86Vector
+ X86Vector.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRVectorDialect
+ MLIRX86VectorDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPISMT
- SMT.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIXeGPU
+ XeGPU.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRSMT
+ MLIRXeGPUDialect
)
diff --git a/mlir/lib/CAPI/Dialect/DLTI.cpp b/mlir/lib/CAPI/Dialect/DLTI.cpp
new file mode 100644
index 0000000000000..983f7921d243e
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/DLTI.cpp
@@ -0,0 +1,13 @@
+//===- DLTI.cpp - C Interface for DLTI dialect ----------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/DLTI.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/DLTI/IR/DLTI.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(DLTI, dlti, mlir::dlti::DLTIDialect)
diff --git a/mlir/lib/CAPI/Dialect/EmitCPasses.cpp b/mlir/lib/CAPI/Dialect/EmitCPasses.cpp
new file mode 100644
index 0000000000000..b208bb737d36d
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/EmitCPasses.cpp
@@ -0,0 +1,25 @@
+//===- EmitCPasses.cpp - C API for EmitC Dialect Passes -------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/EmitC/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/EmitC/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/EmitC/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/FuncPasses.cpp b/mlir/lib/CAPI/Dialect/FuncPasses.cpp
new file mode 100644
index 0000000000000..785ef620741f3
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/FuncPasses.cpp
@@ -0,0 +1,25 @@
+//===- FuncPasses.cpp - C API for Func Dialect Passes ---------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Func/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Func/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Func/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/LLVMPasses.cpp b/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
new file mode 100644
index 0000000000000..a8f62a0101681
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
@@ -0,0 +1,25 @@
+//===- LLVMPasses.cpp - C API for LLVM Dialect Passes ---------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/LLVM/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/LLVM/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/LLVM/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp b/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
new file mode 100644
index 0000000000000..c32515771e8bf
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
@@ -0,0 +1,25 @@
+//===- MLProgramPasses.cpp - C API for MLProgram Dialect Passes -----------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/MLProgram/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/MLProgram/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/MLProgram/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/MPI.cpp b/mlir/lib/CAPI/Dialect/MPI.cpp
new file mode 100644
index 0000000000000..3f75008aab3c4
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MPI.cpp
@@ -0,0 +1,13 @@
+//===- MPI.cpp - C Interface for MPI dialect ------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/MPI.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/MPI/IR/MPI.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(MPI, mpi, mlir::mpi::MPIDialect)
diff --git a/mlir/lib/CAPI/Dialect/MathPasses.cpp b/mlir/lib/CAPI/Dialect/MathPasses.cpp
new file mode 100644
index 0000000000000..28bfe7bef2426
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MathPasses.cpp
@@ -0,0 +1,25 @@
+//===- MathPasses.cpp - C API for Math Dialect Passes ---------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Math/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Math/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Math/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/MemRefPasses.cpp b/mlir/lib/CAPI/Dialect/MemRefPasses.cpp
new file mode 100644
index 0000000000000..476c857c47c37
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MemRefPasses.cpp
@@ -0,0 +1,25 @@
+//===- MemRefPasses.cpp - C API for MemRef Dialect Passes -----------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/MemRef/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/MemRef/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/MemRef/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/NVGPUPasses.cpp b/mlir/lib/CAPI/Dialect/NVGPUPasses.cpp
new file mode 100644
index 0000000000000..7d225947a7494
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/NVGPUPasses.cpp
@@ -0,0 +1,25 @@
+//===- NVGPUPasses.cpp - C API for NVGPU Dialect Passes -------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/NVGPU/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/NVGPU/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/NVGPU/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/OpenACC.cpp b/mlir/lib/CAPI/Dialect/OpenACC.cpp
new file mode 100644
index 0000000000000..1ba64cbeb3b5e
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/OpenACC.cpp
@@ -0,0 +1,14 @@
+//===- OpenACC.cpp - C Interface for OpenACC dialect ----------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/OpenACC.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/OpenACC/IR/OpenACC.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(OpenACC, openacc,
+ mlir::openacc::OpenACCDialect)
diff --git a/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp b/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
new file mode 100644
index 0000000000000..1e2c168c94a2f
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
@@ -0,0 +1,25 @@
+//===- OpenACCPasses.cpp - C API for OpenACC Dialect Passes ---------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/OpenACC/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/OpenACC/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/OpenACC/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/PDLInterp.cpp b/mlir/lib/CAPI/Dialect/PDLInterp.cpp
new file mode 100644
index 0000000000000..ebf3bf32561a9
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/PDLInterp.cpp
@@ -0,0 +1,14 @@
+//===- PDLInterp.cpp - C Interface for PDLInterp dialect ------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/PDLInterp.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/PDLInterp/IR/PDLInterp.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(PDLInterp, pdlinterp,
+ mlir::pdlinterp::PDLInterpDialect)
diff --git a/mlir/lib/CAPI/Dialect/Ptr.cpp b/mlir/lib/CAPI/Dialect/Ptr.cpp
new file mode 100644
index 0000000000000..1da8415477982
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/Ptr.cpp
@@ -0,0 +1,13 @@
+//===- Ptr.cpp - C Interface for Ptr dialect ------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/Ptr.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/Ptr/IR/Ptr.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Ptr, ptr, mlir::ptr::PtrDialect)
diff --git a/mlir/lib/CAPI/Dialect/SCFPasses.cpp b/mlir/lib/CAPI/Dialect/SCFPasses.cpp
new file mode 100644
index 0000000000000..7e904be5bf2fc
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/SCFPasses.cpp
@@ -0,0 +1,25 @@
+//===- SCFPasses.cpp - C API for SCF Dialect Passes -----------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/SCF/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/SCF/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/SCF/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp b/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
new file mode 100644
index 0000000000000..d1c6f5d982df8
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
@@ -0,0 +1,25 @@
+//===- SPIRVPasses.cpp - C API for SPIRV Dialect Passes -------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/SPIRV/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/SPIRV/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/SPIRV/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/ShapePasses.cpp b/mlir/lib/CAPI/Dialect/ShapePasses.cpp
new file mode 100644
index 0000000000000..792bbc5cfb85e
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ShapePasses.cpp
@@ -0,0 +1,25 @@
+//===- ShapePasses.cpp - C API for Shape Dialect Passes -------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Shape/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Shape/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Shape/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/Shard.cpp b/mlir/lib/CAPI/Dialect/Shard.cpp
new file mode 100644
index 0000000000000..94c9a366872c6
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/Shard.cpp
@@ -0,0 +1,13 @@
+//===- Shard.cpp - C Interface for Shard dialect --------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/Shard.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/Shard/IR/Shard.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Shard, shard, mlir::shard::ShardDialect)
\ No newline at end of file
diff --git a/mlir/lib/CAPI/Dialect/ShardPasses.cpp b/mlir/lib/CAPI/Dialect/ShardPasses.cpp
new file mode 100644
index 0000000000000..0cee572cffeda
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ShardPasses.cpp
@@ -0,0 +1,25 @@
+//===- ShardPasses.cpp - C API for Shard Dialect Passes -------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Shard/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Shard/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Shard/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/TensorPasses.cpp b/mlir/lib/CAPI/Dialect/TensorPasses.cpp
new file mode 100644
index 0000000000000..74bf7f3688d35
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/TensorPasses.cpp
@@ -0,0 +1,25 @@
+//===- TensorPasses.cpp - C API for Tensor Dialect Passes -----------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Tensor/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Tensor/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Tensor/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/Tosa.cpp b/mlir/lib/CAPI/Dialect/Tosa.cpp
new file mode 100644
index 0000000000000..e6f2434403a82
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/Tosa.cpp
@@ -0,0 +1,13 @@
+//===- Tosa.cpp - C Interface for Tosa dialect ----------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/Tosa.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/Tosa/IR/Tosa.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Tosa, tosa, mlir::tosa::TosaDialect)
diff --git a/mlir/lib/CAPI/Dialect/TosaPasses.cpp b/mlir/lib/CAPI/Dialect/TosaPasses.cpp
new file mode 100644
index 0000000000000..09b93cb7ce631
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/TosaPasses.cpp
@@ -0,0 +1,25 @@
+//===- TosaPasses.cpp - C API for Tosa Dialect Passes ---------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Tosa/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Tosa/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Tosa/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/TransformPasses.cpp b/mlir/lib/CAPI/Dialect/TransformPasses.cpp
new file mode 100644
index 0000000000000..ce8a87da4c523
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/TransformPasses.cpp
@@ -0,0 +1,25 @@
+//===- TransformPasses.cpp - C API for Transform Dialect Passes -----------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Transform/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Transform/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Transform/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/UB.cpp b/mlir/lib/CAPI/Dialect/UB.cpp
new file mode 100644
index 0000000000000..2ed6dc6f66e30
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/UB.cpp
@@ -0,0 +1,13 @@
+//===- UB.cpp - C Interface for UB dialect --------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/UB.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/UB/IR/UB.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(UB, ub, mlir::ub::UBDialect)
\ No newline at end of file
diff --git a/mlir/lib/CAPI/Dialect/VectorPasses.cpp b/mlir/lib/CAPI/Dialect/VectorPasses.cpp
new file mode 100644
index 0000000000000..3defac7b3849d
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/VectorPasses.cpp
@@ -0,0 +1,25 @@
+//===- VectorPasses.cpp - C API for Vector Dialect Passes -----------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir/CAPI/Pass.h"
+#include "mlir/Dialect/Vector/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/Vector/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/Vector/Transforms/Passes.capi.cpp.inc"
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/mlir/lib/CAPI/Dialect/WasmSSA.cpp b/mlir/lib/CAPI/Dialect/WasmSSA.cpp
new file mode 100644
index 0000000000000..98a7130847469
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/WasmSSA.cpp
@@ -0,0 +1,14 @@
+//===- WasmSSA.cpp - C Interface for WasmSSA dialect ----------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/WasmSSA.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/WasmSSA/IR/WasmSSA.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(WasmSSA, wasmssa,
+ mlir::wasmssa::WasmSSADialect)
diff --git a/mlir/lib/CAPI/Dialect/X86Vector.cpp b/mlir/lib/CAPI/Dialect/X86Vector.cpp
new file mode 100644
index 0000000000000..10573c7c1683e
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/X86Vector.cpp
@@ -0,0 +1,14 @@
+//===- X86Vector.cpp - C Interface for X86Vector dialect ------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/X86Vector.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/X86Vector/IR/X86Vector.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(X86Vector, x86vector,
+ mlir::x86vector::X86VectorDialect)
diff --git a/mlir/lib/CAPI/Dialect/XeGPU.cpp b/mlir/lib/CAPI/Dialect/XeGPU.cpp
new file mode 100644
index 0000000000000..e8768e3bf3951
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/XeGPU.cpp
@@ -0,0 +1,13 @@
+//===- XeGPU.cpp - C Interface for XeGPU dialect --------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/XeGPU.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/XeGPU/IR/XeGPU.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(XeGPU, xegpu, mlir::xegpu::XeGPUDialect)
>From 829d82fd87ec11aca35306cea052d45bc4feac26 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 22:52:03 +0100
Subject: [PATCH 10/16] fix typo
---
mlir/lib/CAPI/Dialect/OpenACC.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mlir/lib/CAPI/Dialect/OpenACC.cpp b/mlir/lib/CAPI/Dialect/OpenACC.cpp
index 1ba64cbeb3b5e..49be8a019e558 100644
--- a/mlir/lib/CAPI/Dialect/OpenACC.cpp
+++ b/mlir/lib/CAPI/Dialect/OpenACC.cpp
@@ -10,5 +10,5 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/OpenACC/IR/OpenACC.h"
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(OpenACC, openacc,
- mlir::openacc::OpenACCDialect)
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(OpenACC, acc,
+ mlir::acc::OpenACCDialect)
>From cdf9673a18b12df800ee89c3a588355173d22fb0 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 22:56:49 +0100
Subject: [PATCH 11/16] add CAPI bindings for vcix, xevm dialects
---
mlir/include/mlir-c/Dialect/VCIX.h | 25 +++++++++++++++++++++++++
mlir/include/mlir-c/Dialect/XeVM.cpp | 25 +++++++++++++++++++++++++
mlir/lib/CAPI/Dialect/CMakeLists.txt | 18 ++++++++++++++++++
mlir/lib/CAPI/Dialect/VCIX.cpp | 13 +++++++++++++
mlir/lib/CAPI/Dialect/XeVM.cpp | 13 +++++++++++++
5 files changed, 94 insertions(+)
create mode 100644 mlir/include/mlir-c/Dialect/VCIX.h
create mode 100644 mlir/include/mlir-c/Dialect/XeVM.cpp
create mode 100644 mlir/lib/CAPI/Dialect/VCIX.cpp
create mode 100644 mlir/lib/CAPI/Dialect/XeVM.cpp
diff --git a/mlir/include/mlir-c/Dialect/VCIX.h b/mlir/include/mlir-c/Dialect/VCIX.h
new file mode 100644
index 0000000000000..d0201633cc82f
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/VCIX.h
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/VCIX.h - C API for VCIX 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_VCIX_H
+#define MLIR_C_DIALECT_VCIX_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(VCIX, vcix);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_VCIX_H
diff --git a/mlir/include/mlir-c/Dialect/XeVM.cpp b/mlir/include/mlir-c/Dialect/XeVM.cpp
new file mode 100644
index 0000000000000..d8560d1c279cc
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/XeVM.cpp
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/XeVM.h - C API for XeVM 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_XeVM_H
+#define MLIR_C_DIALECT_XeVM_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(XeVM, xevm);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_XeVM_H
diff --git a/mlir/lib/CAPI/Dialect/CMakeLists.txt b/mlir/lib/CAPI/Dialect/CMakeLists.txt
index 1596b27f596df..ad0c6d0afeb1f 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -417,6 +417,15 @@ add_mlir_upstream_c_api_library(MLIRCAPIUB
MLIRUBDialect
)
+add_mlir_upstream_c_api_library(MLIRCAPIVCIX
+ VCIX.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRVCIXDialect
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIVector
Vector.cpp
VectorPasses.cpp
@@ -453,3 +462,12 @@ add_mlir_upstream_c_api_library(MLIRCAPIXeGPU
MLIRCAPIIR
MLIRXeGPUDialect
)
+
+add_mlir_upstream_c_api_library(MLIRCAPIXeVM
+ XeVM.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRXeVMDialect
+)
diff --git a/mlir/lib/CAPI/Dialect/VCIX.cpp b/mlir/lib/CAPI/Dialect/VCIX.cpp
new file mode 100644
index 0000000000000..f237d1d6c3397
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/VCIX.cpp
@@ -0,0 +1,13 @@
+//===- VCIX.cpp - C Interface for VCIX dialect ----------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/VCIX.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/LLVMIR/VCIXDialect.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(VCIX, vcix, mlir::VCIX::VCIXDialect)
diff --git a/mlir/lib/CAPI/Dialect/XeVM.cpp b/mlir/lib/CAPI/Dialect/XeVM.cpp
new file mode 100644
index 0000000000000..bfa744e9f1e4c
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/XeVM.cpp
@@ -0,0 +1,13 @@
+//===- XeVM.cpp - C Interface for XeVM dialect ----------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "mlir-c/Dialect/XeVM.h"
+#include "mlir/CAPI/Registration.h"
+#include "mlir/Dialect/LLVMIR/XeVMDialect.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(XeVM, xevm, mlir::XeVM::XeVMDialect)
>From 73a7506044415f0ffde6bfc82d61239fc13a65a7 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 23:00:29 +0100
Subject: [PATCH 12/16] format code
---
mlir/lib/CAPI/Dialect/OpenACC.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/mlir/lib/CAPI/Dialect/OpenACC.cpp b/mlir/lib/CAPI/Dialect/OpenACC.cpp
index 49be8a019e558..c82210506eba0 100644
--- a/mlir/lib/CAPI/Dialect/OpenACC.cpp
+++ b/mlir/lib/CAPI/Dialect/OpenACC.cpp
@@ -10,5 +10,4 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/OpenACC/IR/OpenACC.h"
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(OpenACC, acc,
- mlir::acc::OpenACCDialect)
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(OpenACC, acc, mlir::acc::OpenACCDialect)
>From 99d454e511e1390ea6ab12f32fad3f7486abe7d4 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 23:01:18 +0100
Subject: [PATCH 13/16] Format code
---
mlir/lib/CAPI/Dialect/WasmSSA.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mlir/lib/CAPI/Dialect/WasmSSA.cpp b/mlir/lib/CAPI/Dialect/WasmSSA.cpp
index 98a7130847469..976d8924df82e 100644
--- a/mlir/lib/CAPI/Dialect/WasmSSA.cpp
+++ b/mlir/lib/CAPI/Dialect/WasmSSA.cpp
@@ -10,5 +10,5 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/WasmSSA/IR/WasmSSA.h"
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(WasmSSA, wasmssa,
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(WasmSSA, wasmssa,
mlir::wasmssa::WasmSSADialect)
>From cf70ee38aa3a359c87dd858372a9514cf5da2263 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 23:47:27 +0100
Subject: [PATCH 14/16] try fix undeclared identifiers
---
mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/ArithPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/FuncPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/TransformPasses.cpp | 1 +
4 files changed, 4 insertions(+)
diff --git a/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp b/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
index a6312c5fc684c..d76ef760b9252 100644
--- a/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/AMDGPU/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::amdgpu;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/ArithPasses.cpp b/mlir/lib/CAPI/Dialect/ArithPasses.cpp
index abdf425df741a..bd994925bd61b 100644
--- a/mlir/lib/CAPI/Dialect/ArithPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/ArithPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Arith/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::arith;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/FuncPasses.cpp b/mlir/lib/CAPI/Dialect/FuncPasses.cpp
index 785ef620741f3..96c957f510d2a 100644
--- a/mlir/lib/CAPI/Dialect/FuncPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/FuncPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Func/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::func;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/TransformPasses.cpp b/mlir/lib/CAPI/Dialect/TransformPasses.cpp
index ce8a87da4c523..957cc1984311a 100644
--- a/mlir/lib/CAPI/Dialect/TransformPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/TransformPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Transform/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::transform;
#ifdef __cplusplus
extern "C" {
>From 9e784fa39277dc6459c2dac8d524ad70733a5672 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 23:48:34 +0100
Subject: [PATCH 15/16] add missing fix for undeclared identifier
---
mlir/lib/CAPI/Dialect/LLVMPasses.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/mlir/lib/CAPI/Dialect/LLVMPasses.cpp b/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
index a8f62a0101681..cc3f14997fb13 100644
--- a/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/LLVM/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::llvm;
#ifdef __cplusplus
extern "C" {
>From ee2497259327a14e459e3de09f18b0bdf7ef21c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
<mofeing+github at gmail.com>
Date: Tue, 23 Dec 2025 01:29:02 +0100
Subject: [PATCH 16/16] fix deps
---
mlir/lib/CAPI/Dialect/CMakeLists.txt | 97 +++++++++++++++++++++++++++-
1 file changed, 96 insertions(+), 1 deletion(-)
diff --git a/mlir/lib/CAPI/Dialect/CMakeLists.txt b/mlir/lib/CAPI/Dialect/CMakeLists.txt
index ad0c6d0afeb1f..c4e1a59843987 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -3,9 +3,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIAffine
AffinePasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRAffinePassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRAffineDialect
+ MLIRAffineTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIAMDGPU
@@ -13,9 +17,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIAMDGPU
AMDGPUPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRNVGPUPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRAMDGPUDialect
+ MLIRAMDGPUTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIAMX
@@ -32,18 +40,26 @@ add_mlir_upstream_c_api_library(MLIRCAPIArith
ArithPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRArithPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRArithDialect
+ MLIRArithTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIArmNeon
ArmNeon.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRArmNeonPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRArmNeonDialect
+ MLIRArmNeonTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIArmSME
@@ -51,9 +67,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIArmSME
ArmSMEPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRArmSMEPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRArmSMEDialect
+ MLIRArmSMETransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIArmSVE
@@ -61,9 +81,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIArmSVE
ArmSVEPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRArmSVEPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRArmSVEDialect
+ MLIRArmSVETransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIAsync
@@ -86,9 +110,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIBufferization
BufferizationPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRBufferizationPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRBufferizationDialect
+ MLIRBufferizationTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIControlFlow
@@ -114,9 +142,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIEmitC
EmitCPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIREmitCPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIREmitCDialect
+ MLIREmitCTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIFunc
@@ -124,9 +156,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIFunc
FuncPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRFuncPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRFuncDialect
+ MLIRFuncTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIGPU
@@ -181,9 +217,13 @@ add_mlir_upstream_c_api_library(MLIRCAPILLVM
LLVMPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRLLVMPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRLLVMDialect
+ MLIRLLVMTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIMath
@@ -191,9 +231,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIMath
MathPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRMathPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRMathDialect
+ MLIRMathTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIMemRef
@@ -201,9 +245,14 @@ add_mlir_upstream_c_api_library(MLIRCAPIMemRef
MemRefPasses.cpp
PARTIAL_SOURCES_INTENDED
+ PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRMemRefPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRMemRefDialect
+ MLIRMemRefTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIMLProgram
@@ -211,9 +260,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIMLProgram
MLProgramPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRMLProgramPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRMLProgramDialect
+ MLIRMLProgramTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIMPI
@@ -230,9 +283,13 @@ add_mlir_upstream_c_api_library(MLIRCAPINVGPU
NVGPUPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRNVGPUPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRNVGPUDialect
+ MLIRNVGPUTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPINVVM
@@ -249,9 +306,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIOpenACC
OpenACCPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIROpenACCPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIROpenACCDialect
+ MLIROpenACCTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIOpenMP
@@ -313,9 +374,13 @@ add_mlir_upstream_c_api_library(MLIRCAPISCF
SCFPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRSCFPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRSCFDialect
+ MLIRSCFTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIShape
@@ -323,9 +388,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIShape
ShapePasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRShapePassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRShapeDialect
+ MLIRShapeTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIShard
@@ -333,9 +402,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIShard
ShardPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRShardPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRShardDialect
+ MLIRShardTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPISMT
@@ -347,12 +420,14 @@ add_mlir_upstream_c_api_library(MLIRCAPISMT
MLIRSMT
)
-
add_mlir_upstream_c_api_library(MLIRCAPISparseTensor
SparseTensor.cpp
SparseTensorPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRSparseTensorPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRSparseTensorDialect
@@ -364,9 +439,13 @@ add_mlir_upstream_c_api_library(MLIRCAPISPIRV
SPIRVPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRSPIRVPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRSPIRVDialect
+ MLIRSPIRVTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPITensor
@@ -374,9 +453,13 @@ add_mlir_upstream_c_api_library(MLIRCAPITensor
TensorPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRTensorPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRTensorDialect
+ MLIRTensorTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPITosa
@@ -384,9 +467,13 @@ add_mlir_upstream_c_api_library(MLIRCAPITosa
TosaPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRTosaPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRTosaDialect
+ MLIRTosaTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPITransformDialect
@@ -394,9 +481,13 @@ add_mlir_upstream_c_api_library(MLIRCAPITransformDialect
TransformPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRTransformPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRTransformDialect
+ MLIRTransformTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPITransformDialectTransforms
@@ -431,9 +522,13 @@ add_mlir_upstream_c_api_library(MLIRCAPIVector
VectorPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRVectorPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRVectorDialect
+ MLIRVectorTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIWasmSSA
More information about the llvm-commits
mailing list