[flang] [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
Thu Dec 25 13:59:47 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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/22] 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
>From dc60fbdb8812601617dbaf936b188f6db85eaea8 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 09:29:56 +0100
Subject: [PATCH 17/22] remove erroring PassIncGen deps
---
mlir/lib/CAPI/Dialect/CMakeLists.txt | 30 ----------------------------
1 file changed, 30 deletions(-)
diff --git a/mlir/lib/CAPI/Dialect/CMakeLists.txt b/mlir/lib/CAPI/Dialect/CMakeLists.txt
index c4e1a59843987..969b03b5dffe1 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -40,9 +40,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIArith
ArithPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRArithPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRArithDialect
@@ -53,9 +50,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIArmNeon
ArmNeon.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRArmNeonPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRArmNeonDialect
@@ -67,9 +61,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIArmSME
ArmSMEPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRArmSMEPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRArmSMEDialect
@@ -142,9 +133,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIEmitC
EmitCPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIREmitCPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIREmitCDialect
@@ -156,9 +144,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIFunc
FuncPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRFuncPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRFuncDialect
@@ -217,9 +202,6 @@ add_mlir_upstream_c_api_library(MLIRCAPILLVM
LLVMPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRLLVMPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRLLVMDialect
@@ -231,9 +213,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIMath
MathPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRMathPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRMathDialect
@@ -388,9 +367,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIShape
ShapePasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRShapePassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRShapeDialect
@@ -481,9 +457,6 @@ add_mlir_upstream_c_api_library(MLIRCAPITransformDialect
TransformPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRTransformPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRTransformDialect
@@ -522,9 +495,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIVector
VectorPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRVectorPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRVectorDialect
>From 1dae57c42fbf38ce602a013544b437d5aea3bb21 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 09:34:45 +0100
Subject: [PATCH 18/22] fix deps again
---
mlir/lib/CAPI/Dialect/CMakeLists.txt | 6 ------
1 file changed, 6 deletions(-)
diff --git a/mlir/lib/CAPI/Dialect/CMakeLists.txt b/mlir/lib/CAPI/Dialect/CMakeLists.txt
index 969b03b5dffe1..d8dfd8c43100f 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -205,7 +205,6 @@ add_mlir_upstream_c_api_library(MLIRCAPILLVM
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRLLVMDialect
- MLIRLLVMTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIMath
@@ -370,7 +369,6 @@ add_mlir_upstream_c_api_library(MLIRCAPIShape
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRShapeDialect
- MLIRShapeTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIShard
@@ -429,9 +427,6 @@ add_mlir_upstream_c_api_library(MLIRCAPITensor
TensorPasses.cpp
PARTIAL_SOURCES_INTENDED
- DEPENDS
- MLIRTensorPassIncGen
-
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRTensorDialect
@@ -460,7 +455,6 @@ add_mlir_upstream_c_api_library(MLIRCAPITransformDialect
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRTransformDialect
- MLIRTransformTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPITransformDialectTransforms
>From 507a3984b6ef121a8a3dc74d5b6e705eb1fa16d4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
<mofeing+github at gmail.com>
Date: Wed, 24 Dec 2025 17:12:06 +0100
Subject: [PATCH 19/22] move affine passes into "Transforms/" dir
---
mlir/examples/toy/Ch5/toyc.cpp | 2 +-
mlir/examples/toy/Ch6/toyc.cpp | 2 +-
mlir/examples/toy/Ch7/toyc.cpp | 2 +-
mlir/include/mlir/Dialect/Affine/CMakeLists.txt | 9 +--------
.../mlir/Dialect/Affine/Transforms/CMakeLists.txt | 7 +++++++
.../mlir/Dialect/Affine/{ => Transforms}/Passes.h | 4 ++--
.../mlir/Dialect/Affine/{ => Transforms}/Passes.td | 0
mlir/lib/CAPI/Dialect/Affine.cpp | 2 +-
mlir/lib/CAPI/Dialect/AffinePasses.cpp | 2 +-
.../Affine/Transforms/AffineDataCopyGeneration.cpp | 4 ++--
.../Dialect/Affine/Transforms/AffineExpandIndexOps.cpp | 4 ++--
.../Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp | 4 ++--
.../Affine/Transforms/AffineLoopInvariantCodeMotion.cpp | 4 ++--
.../Dialect/Affine/Transforms/AffineLoopNormalize.cpp | 4 ++--
mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp | 6 +++---
.../Affine/Transforms/AffineScalarReplacement.cpp | 4 ++--
mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp | 4 ++--
mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp | 4 ++--
mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp | 4 ++--
mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp | 4 ++--
mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp | 4 ++--
.../Dialect/Affine/Transforms/PipelineDataTransfer.cpp | 4 ++--
.../lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp | 4 ++--
.../Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp | 4 ++--
.../Affine/Transforms/SimplifyAffineStructures.cpp | 4 ++--
mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp | 4 ++--
mlir/lib/RegisterAllPasses.cpp | 2 +-
.../Dialect/Affine/TestAffineLoopParametricTiling.cpp | 2 +-
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel | 6 +++---
29 files changed, 55 insertions(+), 55 deletions(-)
create mode 100644 mlir/include/mlir/Dialect/Affine/Transforms/CMakeLists.txt
rename mlir/include/mlir/Dialect/Affine/{ => Transforms}/Passes.h (98%)
rename mlir/include/mlir/Dialect/Affine/{ => Transforms}/Passes.td (100%)
diff --git a/mlir/examples/toy/Ch5/toyc.cpp b/mlir/examples/toy/Ch5/toyc.cpp
index 3760a88d6f698..d62a1c0042f62 100644
--- a/mlir/examples/toy/Ch5/toyc.cpp
+++ b/mlir/examples/toy/Ch5/toyc.cpp
@@ -20,7 +20,7 @@
#include "toy/Parser.h"
#include "toy/Passes.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/IR/AsmState.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/MLIRContext.h"
diff --git a/mlir/examples/toy/Ch6/toyc.cpp b/mlir/examples/toy/Ch6/toyc.cpp
index c31c53a229fbf..cfc10a7259180 100644
--- a/mlir/examples/toy/Ch6/toyc.cpp
+++ b/mlir/examples/toy/Ch6/toyc.cpp
@@ -21,7 +21,7 @@
#include "toy/Parser.h"
#include "toy/Passes.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/LLVMIR/Transforms/Passes.h"
#include "mlir/ExecutionEngine/ExecutionEngine.h"
#include "mlir/ExecutionEngine/OptUtils.h"
diff --git a/mlir/examples/toy/Ch7/toyc.cpp b/mlir/examples/toy/Ch7/toyc.cpp
index 553ca6ba613d9..ffd94bc8f7177 100644
--- a/mlir/examples/toy/Ch7/toyc.cpp
+++ b/mlir/examples/toy/Ch7/toyc.cpp
@@ -21,7 +21,7 @@
#include "toy/Parser.h"
#include "toy/Passes.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/LLVMIR/Transforms/Passes.h"
#include "mlir/ExecutionEngine/ExecutionEngine.h"
#include "mlir/ExecutionEngine/OptUtils.h"
diff --git a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
index 90342e1ceaf88..cb1e9d01821a2 100644
--- a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
@@ -1,10 +1,3 @@
add_subdirectory(IR)
+add_subdirectory(Transforms)
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/Affine/Transforms/CMakeLists.txt b/mlir/include/mlir/Dialect/Affine/Transforms/CMakeLists.txt
new file mode 100644
index 0000000000000..a9e33e0e9b87d
--- /dev/null
+++ b/mlir/include/mlir/Dialect/Affine/Transforms/CMakeLists.txt
@@ -0,0 +1,7 @@
+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/Affine/Passes.h b/mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
similarity index 98%
rename from mlir/include/mlir/Dialect/Affine/Passes.h
rename to mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
index ec349ec48e33b..bb8a8bd8b43b8 100644
--- a/mlir/include/mlir/Dialect/Affine/Passes.h
+++ b/mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
@@ -35,7 +35,7 @@ class AffineForOp;
enum FusionMode { Greedy, ProducerConsumer, Sibling };
#define GEN_PASS_DECL
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
/// Creates a simplification pass for affine structures (maps and sets). In
/// addition, this pass also normalizes memrefs to have the trivial (identity)
@@ -132,7 +132,7 @@ std::unique_ptr<Pass> createAffineExpandIndexOpsAsAffinePass();
/// Generate the code for registering passes.
#define GEN_PASS_REGISTRATION
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/include/mlir/Dialect/Affine/Passes.td b/mlir/include/mlir/Dialect/Affine/Transforms/Passes.td
similarity index 100%
rename from mlir/include/mlir/Dialect/Affine/Passes.td
rename to mlir/include/mlir/Dialect/Affine/Transforms/Passes.td
diff --git a/mlir/lib/CAPI/Dialect/Affine.cpp b/mlir/lib/CAPI/Dialect/Affine.cpp
index ed37c7d2be669..b796523390a29 100644
--- a/mlir/lib/CAPI/Dialect/Affine.cpp
+++ b/mlir/lib/CAPI/Dialect/Affine.cpp
@@ -8,7 +8,7 @@
#include "mlir-c/Dialect/Affine.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/Affine/IR/Affine.h"
+#include "mlir/Dialect/Affine/IR/AffineOps.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
index 2d10cb4f4b9a0..7f8b21fcb29ad 100644
--- a/mlir/lib/CAPI/Dialect/AffinePasses.cpp
+++ b/mlir/lib/CAPI/Dialect/AffinePasses.cpp
@@ -7,7 +7,7 @@
//===----------------------------------------------------------------------===//
#include "mlir/CAPI/Pass.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Pass/Pass.h"
// Must include the declarations as they carry important visibility attributes.
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
index df39544aeaa09..6537b8a55c159 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
@@ -19,7 +19,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/Utils.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
@@ -35,7 +35,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEDATACOPYGENERATION
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
index c0d174a04abf9..e1317b3f78b05 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
@@ -11,7 +11,7 @@
//===----------------------------------------------------------------------===//
#include "mlir/Dialect/Affine/LoopUtils.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/Transforms/Transforms.h"
@@ -20,7 +20,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEEXPANDINDEXOPS
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
index 16ba16d5c798f..e919bc6d36265 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
@@ -10,7 +10,7 @@
// fundamental operations.
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/Transforms/Transforms.h"
@@ -21,7 +21,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEEXPANDINDEXOPSASAFFINE
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
index 27cb0cae18337..c8d8b8d62e59d 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/Utils.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
@@ -19,7 +19,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINELOOPINVARIANTCODEMOTION
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
index 5cc38f7051726..c74d147016237 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/Utils.h"
@@ -19,7 +19,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINELOOPNORMALIZE
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
index 108c53cb467ac..6175e52f96009 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
@@ -11,7 +11,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/AffineStructures.h"
@@ -19,7 +19,7 @@
#include "mlir/Dialect/Affine/Analysis/Utils.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/LoopUtils.h"
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
#include "mlir/Dialect/Affine/Utils.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "llvm/Support/Debug.h"
@@ -27,7 +27,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEPARALLELIZE
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp b/mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
index a0dcc20a4b763..92a4cf3c0ad76 100644
--- a/mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
@@ -11,7 +11,7 @@
// redundant loads.
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Analysis/AliasAnalysis.h"
#include "mlir/Dialect/Affine/Utils.h"
@@ -21,7 +21,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINESCALARREPLACEMENT
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
index c3575cb7d5896..870db0b1debd6 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/LoopUtils.h"
@@ -17,7 +17,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_LOOPCOALESCING
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
index ff0157eb9e4f3..1ec5fbfef50c3 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/AffineStructures.h"
#include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h"
@@ -35,7 +35,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINELOOPFUSION
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
index 59c630ca11dca..188db218a5220 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/AffineStructures.h"
@@ -27,7 +27,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINELOOPTILING
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
index 60ae78b4133a4..837d4f714d25e 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
@@ -21,7 +21,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINELOOPUNROLL
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
index 6157e8131f890..f97174065a475 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
@@ -33,7 +33,7 @@
// op's, bodies of those loops will not be jammed.
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h"
@@ -45,7 +45,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINELOOPUNROLLANDJAM
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp b/mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
index b04e2d6d196dd..d84cb4f0cde5f 100644
--- a/mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/LoopAnalysis.h"
@@ -27,7 +27,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEPIPELINEDATATRANSFER
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp b/mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
index 3fc2664aefdfb..29cc256cb90f9 100644
--- a/mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
@@ -12,7 +12,7 @@
//===----------------------------------------------------------------------===//
#include "mlir/Dialect/Affine/Analysis/Utils.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Transforms/Transforms.h"
#include "mlir/Dialect/Affine/Utils.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
@@ -27,7 +27,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_RAISEMEMREFDIALECT
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp b/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
index 9821a75a55f49..ea7f3157c82ea 100644
--- a/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/Transforms/Transforms.h"
@@ -227,7 +227,7 @@ struct SimplifyAffineApplyOp : public OpRewritePattern<AffineApplyOp> {
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_SIMPLIFYAFFINEMINMAXPASS
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp b/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
index 9e9096c2e3186..c09afc03c5257 100644
--- a/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/Analysis/Utils.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
@@ -22,7 +22,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_SIMPLIFYAFFINESTRUCTURES
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp b/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
index d428fbf2886ff..9627cf8bd2004 100644
--- a/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
@@ -11,7 +11,7 @@
//
//===----------------------------------------------------------------------===//
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Analysis/SliceAnalysis.h"
#include "mlir/Dialect/Affine/Analysis/AffineAnalysis.h"
@@ -33,7 +33,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEVECTORIZE
-#include "mlir/Dialect/Affine/Passes.h.inc"
+#include "mlir/Dialect/Affine/Transforms/Passes.h.inc"
} // namespace affine
} // namespace mlir
diff --git a/mlir/lib/RegisterAllPasses.cpp b/mlir/lib/RegisterAllPasses.cpp
index f5c72a8590b83..e1d5b1236c8a6 100644
--- a/mlir/lib/RegisterAllPasses.cpp
+++ b/mlir/lib/RegisterAllPasses.cpp
@@ -15,7 +15,7 @@
#include "mlir/Conversion/Passes.h"
#include "mlir/Dialect/AMDGPU/Transforms/Passes.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Arith/Transforms/Passes.h"
#include "mlir/Dialect/ArmSME/Transforms/Passes.h"
#include "mlir/Dialect/ArmSVE/Transforms/Passes.h"
diff --git a/mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp b/mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
index 39a8cd953f7ca..4e83d2acae18d 100644
--- a/mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
+++ b/mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
@@ -13,7 +13,7 @@
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/Dialect/Affine/LoopUtils.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
using namespace mlir;
diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
index 4bdd87c3545b5..8e9197e4b3948 100644
--- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
@@ -4245,12 +4245,12 @@ cc_library(
gentbl_cc_library(
name = "AffinePassIncGen",
- tbl_outs = {"include/mlir/Dialect/Affine/Passes.h.inc": [
+ tbl_outs = {"include/mlir/Dialect/Affine/Transforms/Passes.h.inc": [
"-gen-pass-decls",
"-name=Affine",
]},
tblgen = ":mlir-tblgen",
- td_file = "include/mlir/Dialect/Affine/Passes.td",
+ td_file = "include/mlir/Dialect/Affine/Transforms/Passes.td",
deps = [":PassBaseTdFiles"],
)
@@ -4260,7 +4260,7 @@ cc_library(
"lib/Dialect/Affine/Transforms/*.cpp",
]),
hdrs = [
- "include/mlir/Dialect/Affine/Passes.h",
+ "include/mlir/Dialect/Affine/Transforms/Passes.h",
"include/mlir/Dialect/Affine/Transforms/Transforms.h",
],
includes = ["include"],
>From a6e09ead0d0b8b5892aa3ea96e5ef2fe9f975d44 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
<mofeing+github at gmail.com>
Date: Wed, 24 Dec 2025 17:15:59 +0100
Subject: [PATCH 20/22] fix undeclared references
---
mlir/lib/CAPI/Dialect/AffinePasses.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/mlir/lib/CAPI/Dialect/AffinePasses.cpp b/mlir/lib/CAPI/Dialect/AffinePasses.cpp
index 7f8b21fcb29ad..ee7c6f6ed53d0 100644
--- a/mlir/lib/CAPI/Dialect/AffinePasses.cpp
+++ b/mlir/lib/CAPI/Dialect/AffinePasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Affine/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::affine;
#ifdef __cplusplus
extern "C" {
>From 1745c1585524c183c54e899f82934991a3f6fd11 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
<mofeing+github at gmail.com>
Date: Wed, 24 Dec 2025 18:58:28 +0100
Subject: [PATCH 21/22] namespace and include path fixes
---
mlir/include/mlir-c/Dialect/{XeVM.cpp => XeVM.h} | 0
mlir/lib/CAPI/Dialect/AMX.cpp | 2 +-
mlir/lib/CAPI/Dialect/ArmNeon.cpp | 4 +++-
mlir/lib/CAPI/Dialect/ArmSME.cpp | 2 ++
mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/ArmSVE.cpp | 4 +++-
mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/Bufferization.cpp | 2 ++
mlir/lib/CAPI/Dialect/BufferizationPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/DLTI.cpp | 4 ++--
mlir/lib/CAPI/Dialect/EmitC.cpp | 1 +
mlir/lib/CAPI/Dialect/EmitCPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/LLVMPasses.cpp | 8 ++++----
mlir/lib/CAPI/Dialect/MLProgramPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/MathPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/MemRefPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/OpenACC.cpp | 4 +++-
mlir/lib/CAPI/Dialect/OpenACCPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/PDLInterp.cpp | 4 ++--
mlir/lib/CAPI/Dialect/Ptr.cpp | 2 +-
mlir/lib/CAPI/Dialect/SPIRVPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/Shard.cpp | 2 +-
mlir/lib/CAPI/Dialect/ShardPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/TensorPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/Tosa.cpp | 2 +-
mlir/lib/CAPI/Dialect/TosaPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/UB.cpp | 2 +-
mlir/lib/CAPI/Dialect/VCIX.cpp | 2 +-
mlir/lib/CAPI/Dialect/VectorPasses.cpp | 1 +
mlir/lib/CAPI/Dialect/X86Vector.cpp | 2 +-
mlir/lib/CAPI/Dialect/XeVM.cpp | 2 +-
31 files changed, 43 insertions(+), 19 deletions(-)
rename mlir/include/mlir-c/Dialect/{XeVM.cpp => XeVM.h} (100%)
diff --git a/mlir/include/mlir-c/Dialect/XeVM.cpp b/mlir/include/mlir-c/Dialect/XeVM.h
similarity index 100%
rename from mlir/include/mlir-c/Dialect/XeVM.cpp
rename to mlir/include/mlir-c/Dialect/XeVM.h
diff --git a/mlir/lib/CAPI/Dialect/AMX.cpp b/mlir/lib/CAPI/Dialect/AMX.cpp
index 2d330ffbd5f84..ed208c9b4b725 100644
--- a/mlir/lib/CAPI/Dialect/AMX.cpp
+++ b/mlir/lib/CAPI/Dialect/AMX.cpp
@@ -8,6 +8,6 @@
#include "mlir-c/Dialect/AMX.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/AMX/IR/AMX.h"
+#include "mlir/Dialect/AMX/AMXDialect.h"
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(AMX, amx, mlir::amx::AMXDialect)
diff --git a/mlir/lib/CAPI/Dialect/ArmNeon.cpp b/mlir/lib/CAPI/Dialect/ArmNeon.cpp
index 67c2ff14a94d2..d2da71f5430cd 100644
--- a/mlir/lib/CAPI/Dialect/ArmNeon.cpp
+++ b/mlir/lib/CAPI/Dialect/ArmNeon.cpp
@@ -8,7 +8,9 @@
#include "mlir-c/Dialect/ArmNeon.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/ArmNeon/IR/ArmNeon.h"
+#include "mlir/Dialect/ArmNeon/ArmNeonDialect.h"
+
+using namespace mlir::arm_neon;
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
index 05fe166f64491..11d18e19d97a3 100644
--- a/mlir/lib/CAPI/Dialect/ArmSME.cpp
+++ b/mlir/lib/CAPI/Dialect/ArmSME.cpp
@@ -10,5 +10,7 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/ArmSME/IR/ArmSME.h"
+using namespace mlir::arm_sme;
+
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
index 0a1b15053940c..44a4a35d242f0 100644
--- a/mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/ArmSME/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::arm_sme;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/ArmSVE.cpp b/mlir/lib/CAPI/Dialect/ArmSVE.cpp
index 71df710d73a09..9bf779c754040 100644
--- a/mlir/lib/CAPI/Dialect/ArmSVE.cpp
+++ b/mlir/lib/CAPI/Dialect/ArmSVE.cpp
@@ -8,7 +8,9 @@
#include "mlir-c/Dialect/ArmSVE.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/ArmSVE/IR/ArmSVE.h"
+#include "mlir/Dialect/ArmSVE/IR/ArmSVEDialect.h"
+
+using namespace mlir::arm_sve;
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
index 56980f9c19e6d..780dd669d3984 100644
--- a/mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/ArmSVE/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::arm_sve;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/Bufferization.cpp b/mlir/lib/CAPI/Dialect/Bufferization.cpp
index da50dfaab44b6..8a76b7c391bed 100644
--- a/mlir/lib/CAPI/Dialect/Bufferization.cpp
+++ b/mlir/lib/CAPI/Dialect/Bufferization.cpp
@@ -10,5 +10,7 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/Bufferization/IR/Bufferization.h"
+using namespace mlir::bufferization;
+
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
index 713f934fa040b..2b914a04df955 100644
--- a/mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Bufferization/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::bufferization;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/DLTI.cpp b/mlir/lib/CAPI/Dialect/DLTI.cpp
index 983f7921d243e..be17b28fca96a 100644
--- a/mlir/lib/CAPI/Dialect/DLTI.cpp
+++ b/mlir/lib/CAPI/Dialect/DLTI.cpp
@@ -8,6 +8,6 @@
#include "mlir-c/Dialect/DLTI.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/DLTI/IR/DLTI.h"
+#include "mlir/Dialect/DLTI/DLTI.h"
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(DLTI, dlti, mlir::dlti::DLTIDialect)
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(DLTI, dlti, mlir::DLTIDialect)
diff --git a/mlir/lib/CAPI/Dialect/EmitC.cpp b/mlir/lib/CAPI/Dialect/EmitC.cpp
index b6d197366f622..1d1c791951496 100644
--- a/mlir/lib/CAPI/Dialect/EmitC.cpp
+++ b/mlir/lib/CAPI/Dialect/EmitC.cpp
@@ -11,6 +11,7 @@
#include "mlir/Dialect/EmitC/IR/EmitC.h"
using namespace mlir;
+using namespace mlir::emitc;
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(EmitC, emitc, mlir::emitc::EmitCDialect)
diff --git a/mlir/lib/CAPI/Dialect/EmitCPasses.cpp b/mlir/lib/CAPI/Dialect/EmitCPasses.cpp
index b208bb737d36d..e07c13a862e2f 100644
--- a/mlir/lib/CAPI/Dialect/EmitCPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/EmitCPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/EmitC/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::emitc;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/LLVMPasses.cpp b/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
index cc3f14997fb13..ab39c6d5d6e2a 100644
--- a/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
@@ -7,19 +7,19 @@
//===----------------------------------------------------------------------===//
#include "mlir/CAPI/Pass.h"
-#include "mlir/Dialect/LLVM/Transforms/Passes.h"
+#include "mlir/Dialect/LLVMIR/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"
+#include "mlir/Dialect/LLVMIR/Transforms/Passes.capi.h.inc"
using namespace mlir;
-using namespace mlir::llvm;
+using namespace mlir::LLVM;
#ifdef __cplusplus
extern "C" {
#endif
-#include "mlir/Dialect/LLVM/Transforms/Passes.capi.cpp.inc"
+#include "mlir/Dialect/LLVMIR/Transforms/Passes.capi.cpp.inc"
#ifdef __cplusplus
}
diff --git a/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp b/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
index c32515771e8bf..ba8b33ffded4f 100644
--- a/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/MLProgram/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::ml_program;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/MathPasses.cpp b/mlir/lib/CAPI/Dialect/MathPasses.cpp
index 28bfe7bef2426..8b20a25fe35b8 100644
--- a/mlir/lib/CAPI/Dialect/MathPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/MathPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Math/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::math;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/MemRefPasses.cpp b/mlir/lib/CAPI/Dialect/MemRefPasses.cpp
index 476c857c47c37..fa258d459048c 100644
--- a/mlir/lib/CAPI/Dialect/MemRefPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/MemRefPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/MemRef/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::memref;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/OpenACC.cpp b/mlir/lib/CAPI/Dialect/OpenACC.cpp
index c82210506eba0..b304a8a5aacb1 100644
--- a/mlir/lib/CAPI/Dialect/OpenACC.cpp
+++ b/mlir/lib/CAPI/Dialect/OpenACC.cpp
@@ -8,6 +8,8 @@
#include "mlir-c/Dialect/OpenACC.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/OpenACC/IR/OpenACC.h"
+#include "mlir/Dialect/OpenACC/OpenACC.h"
+
+using namespace mlir::acc;
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(OpenACC, acc, mlir::acc::OpenACCDialect)
diff --git a/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp b/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
index 1e2c168c94a2f..c81bfb66a25e3 100644
--- a/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/OpenACC/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::acc;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/PDLInterp.cpp b/mlir/lib/CAPI/Dialect/PDLInterp.cpp
index ebf3bf32561a9..3d57397d25c0a 100644
--- a/mlir/lib/CAPI/Dialect/PDLInterp.cpp
+++ b/mlir/lib/CAPI/Dialect/PDLInterp.cpp
@@ -10,5 +10,5 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/PDLInterp/IR/PDLInterp.h"
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(PDLInterp, pdlinterp,
- mlir::pdlinterp::PDLInterpDialect)
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(PDLInterp, pdl_interp,
+ mlir::pdl_interp::PDLInterpDialect)
diff --git a/mlir/lib/CAPI/Dialect/Ptr.cpp b/mlir/lib/CAPI/Dialect/Ptr.cpp
index 1da8415477982..89780d77c1f8c 100644
--- a/mlir/lib/CAPI/Dialect/Ptr.cpp
+++ b/mlir/lib/CAPI/Dialect/Ptr.cpp
@@ -8,6 +8,6 @@
#include "mlir-c/Dialect/Ptr.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/Ptr/IR/Ptr.h"
+#include "mlir/Dialect/Ptr/IR/PtrDialect.h"
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Ptr, ptr, mlir::ptr::PtrDialect)
diff --git a/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp b/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
index d1c6f5d982df8..7201c837a3815 100644
--- a/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/SPIRV/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::spirv;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/Shard.cpp b/mlir/lib/CAPI/Dialect/Shard.cpp
index 94c9a366872c6..82fc92eb3fafe 100644
--- a/mlir/lib/CAPI/Dialect/Shard.cpp
+++ b/mlir/lib/CAPI/Dialect/Shard.cpp
@@ -8,6 +8,6 @@
#include "mlir-c/Dialect/Shard.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/Shard/IR/Shard.h"
+#include "mlir/Dialect/Shard/IR/ShardDialect.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
index 0cee572cffeda..032882b949e33 100644
--- a/mlir/lib/CAPI/Dialect/ShardPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/ShardPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Shard/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::shard;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/TensorPasses.cpp b/mlir/lib/CAPI/Dialect/TensorPasses.cpp
index 74bf7f3688d35..6dae87713ecf8 100644
--- a/mlir/lib/CAPI/Dialect/TensorPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/TensorPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Tensor/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::tensor;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/Tosa.cpp b/mlir/lib/CAPI/Dialect/Tosa.cpp
index e6f2434403a82..357717a2ed5a5 100644
--- a/mlir/lib/CAPI/Dialect/Tosa.cpp
+++ b/mlir/lib/CAPI/Dialect/Tosa.cpp
@@ -8,6 +8,6 @@
#include "mlir-c/Dialect/Tosa.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/Tosa/IR/Tosa.h"
+#include "mlir/Dialect/Tosa/IR/TosaOps.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
index 09b93cb7ce631..be2e61bed65bf 100644
--- a/mlir/lib/CAPI/Dialect/TosaPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/TosaPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Tosa/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::tosa;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/UB.cpp b/mlir/lib/CAPI/Dialect/UB.cpp
index 2ed6dc6f66e30..37a74677cdad0 100644
--- a/mlir/lib/CAPI/Dialect/UB.cpp
+++ b/mlir/lib/CAPI/Dialect/UB.cpp
@@ -8,6 +8,6 @@
#include "mlir-c/Dialect/UB.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/UB/IR/UB.h"
+#include "mlir/Dialect/UB/IR/UBOps.h"
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(UB, ub, mlir::ub::UBDialect)
\ No newline at end of file
diff --git a/mlir/lib/CAPI/Dialect/VCIX.cpp b/mlir/lib/CAPI/Dialect/VCIX.cpp
index f237d1d6c3397..22a51ddb69d82 100644
--- a/mlir/lib/CAPI/Dialect/VCIX.cpp
+++ b/mlir/lib/CAPI/Dialect/VCIX.cpp
@@ -10,4 +10,4 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/LLVMIR/VCIXDialect.h"
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(VCIX, vcix, mlir::VCIX::VCIXDialect)
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(VCIX, vcix, mlir::vcix::VCIXDialect)
diff --git a/mlir/lib/CAPI/Dialect/VectorPasses.cpp b/mlir/lib/CAPI/Dialect/VectorPasses.cpp
index 3defac7b3849d..f9d71873f0c5a 100644
--- a/mlir/lib/CAPI/Dialect/VectorPasses.cpp
+++ b/mlir/lib/CAPI/Dialect/VectorPasses.cpp
@@ -13,6 +13,7 @@
// Must include the declarations as they carry important visibility attributes.
#include "mlir/Dialect/Vector/Transforms/Passes.capi.h.inc"
using namespace mlir;
+using namespace mlir::vector;
#ifdef __cplusplus
extern "C" {
diff --git a/mlir/lib/CAPI/Dialect/X86Vector.cpp b/mlir/lib/CAPI/Dialect/X86Vector.cpp
index 10573c7c1683e..69edaa22f632b 100644
--- a/mlir/lib/CAPI/Dialect/X86Vector.cpp
+++ b/mlir/lib/CAPI/Dialect/X86Vector.cpp
@@ -8,7 +8,7 @@
#include "mlir-c/Dialect/X86Vector.h"
#include "mlir/CAPI/Registration.h"
-#include "mlir/Dialect/X86Vector/IR/X86Vector.h"
+#include "mlir/Dialect/X86Vector/X86VectorDialect.h"
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(X86Vector, x86vector,
mlir::x86vector::X86VectorDialect)
diff --git a/mlir/lib/CAPI/Dialect/XeVM.cpp b/mlir/lib/CAPI/Dialect/XeVM.cpp
index bfa744e9f1e4c..4956714b15b14 100644
--- a/mlir/lib/CAPI/Dialect/XeVM.cpp
+++ b/mlir/lib/CAPI/Dialect/XeVM.cpp
@@ -10,4 +10,4 @@
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/LLVMIR/XeVMDialect.h"
-MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(XeVM, xevm, mlir::XeVM::XeVMDialect)
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(XeVM, xevm, mlir::xevm::XeVMDialect)
>From b2fbb21e7abfc6f76cf5824728b8fb1ac203f3c4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20S=C3=A1nchez=20Ram=C3=ADrez?=
<mofeing+github at gmail.com>
Date: Thu, 25 Dec 2025 22:59:23 +0100
Subject: [PATCH 22/22] fix header path in flang
---
flang/include/flang/Optimizer/Support/InitFIR.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/flang/include/flang/Optimizer/Support/InitFIR.h b/flang/include/flang/Optimizer/Support/InitFIR.h
index 41a979f97aece..d77d82feddd84 100644
--- a/flang/include/flang/Optimizer/Support/InitFIR.h
+++ b/flang/include/flang/Optimizer/Support/InitFIR.h
@@ -22,7 +22,7 @@
#include "flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h"
#include "mlir/Conversion/Passes.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Complex/IR/Complex.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
#include "mlir/Dialect/DLTI/DLTI.h"
More information about the llvm-commits
mailing list