[Mlir-commits] [mlir] 0d23e3f - [MLIR] Add missing dialects to C API (#82190)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Jan 7 12:51:41 PST 2026
Author: Sergio Sánchez Ramírez
Date: 2026-01-07T12:51:33-08:00
New Revision: 0d23e3f71f56721e9c050bda63d10c7fd44de117
URL: https://github.com/llvm/llvm-project/commit/0d23e3f71f56721e9c050bda63d10c7fd44de117
DIFF: https://github.com/llvm/llvm-project/commit/0d23e3f71f56721e9c050bda63d10c7fd44de117.diff
LOG: [MLIR] Add missing dialects to C API (#82190)
We are trying to make a wrapper of MLIR for Julia in
https://github.com/JuliaLabs/MLIR.jl, but some dialects are missing in
`libMLIR-C`. This PR adds them.
Added:
mlir/include/mlir-c/Dialect/AMX.h
mlir/include/mlir-c/Dialect/Affine.h
mlir/include/mlir-c/Dialect/ArmNeon.h
mlir/include/mlir-c/Dialect/ArmSME.h
mlir/include/mlir-c/Dialect/ArmSVE.h
mlir/include/mlir-c/Dialect/Bufferization.h
mlir/include/mlir-c/Dialect/DLTI.h
mlir/include/mlir-c/Dialect/MPI.h
mlir/include/mlir-c/Dialect/OpenACC.h
mlir/include/mlir-c/Dialect/PDLInterp.h
mlir/include/mlir-c/Dialect/Ptr.h
mlir/include/mlir-c/Dialect/Shard.h
mlir/include/mlir-c/Dialect/Tosa.h
mlir/include/mlir-c/Dialect/UB.h
mlir/include/mlir-c/Dialect/VCIX.h
mlir/include/mlir-c/Dialect/WasmSSA.h
mlir/include/mlir-c/Dialect/X86Vector.h
mlir/include/mlir-c/Dialect/XeGPU.h
mlir/include/mlir-c/Dialect/XeVM.h
mlir/include/mlir/Dialect/Affine/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
mlir/include/mlir/Dialect/Affine/Transforms/Passes.td
mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
mlir/lib/CAPI/Dialect/AMX.cpp
mlir/lib/CAPI/Dialect/Affine.cpp
mlir/lib/CAPI/Dialect/AffinePasses.cpp
mlir/lib/CAPI/Dialect/ArithPasses.cpp
mlir/lib/CAPI/Dialect/ArmNeon.cpp
mlir/lib/CAPI/Dialect/ArmSME.cpp
mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
mlir/lib/CAPI/Dialect/ArmSVE.cpp
mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
mlir/lib/CAPI/Dialect/Bufferization.cpp
mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
mlir/lib/CAPI/Dialect/DLTI.cpp
mlir/lib/CAPI/Dialect/EmitCPasses.cpp
mlir/lib/CAPI/Dialect/FuncPasses.cpp
mlir/lib/CAPI/Dialect/LLVMPasses.cpp
mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
mlir/lib/CAPI/Dialect/MPI.cpp
mlir/lib/CAPI/Dialect/MathPasses.cpp
mlir/lib/CAPI/Dialect/MemRefPasses.cpp
mlir/lib/CAPI/Dialect/NVGPUPasses.cpp
mlir/lib/CAPI/Dialect/OpenACC.cpp
mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
mlir/lib/CAPI/Dialect/PDLInterp.cpp
mlir/lib/CAPI/Dialect/Ptr.cpp
mlir/lib/CAPI/Dialect/SCFPasses.cpp
mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
mlir/lib/CAPI/Dialect/ShapePasses.cpp
mlir/lib/CAPI/Dialect/Shard.cpp
mlir/lib/CAPI/Dialect/ShardPasses.cpp
mlir/lib/CAPI/Dialect/TensorPasses.cpp
mlir/lib/CAPI/Dialect/Tosa.cpp
mlir/lib/CAPI/Dialect/TosaPasses.cpp
mlir/lib/CAPI/Dialect/TransformPasses.cpp
mlir/lib/CAPI/Dialect/UB.cpp
mlir/lib/CAPI/Dialect/VCIX.cpp
mlir/lib/CAPI/Dialect/VectorPasses.cpp
mlir/lib/CAPI/Dialect/WasmSSA.cpp
mlir/lib/CAPI/Dialect/X86Vector.cpp
mlir/lib/CAPI/Dialect/XeGPU.cpp
mlir/lib/CAPI/Dialect/XeVM.cpp
Modified:
flang/include/flang/Optimizer/Support/InitFIR.h
mlir/examples/toy/Ch5/toyc.cpp
mlir/examples/toy/Ch6/toyc.cpp
mlir/examples/toy/Ch7/toyc.cpp
mlir/include/mlir-c/Dialect/AMDGPU.h
mlir/include/mlir-c/Dialect/Arith.h
mlir/include/mlir-c/Dialect/EmitC.h
mlir/include/mlir-c/Dialect/Func.h
mlir/include/mlir-c/Dialect/LLVM.h
mlir/include/mlir-c/Dialect/MLProgram.h
mlir/include/mlir-c/Dialect/Math.h
mlir/include/mlir-c/Dialect/MemRef.h
mlir/include/mlir-c/Dialect/NVGPU.h
mlir/include/mlir-c/Dialect/SCF.h
mlir/include/mlir-c/Dialect/SPIRV.h
mlir/include/mlir-c/Dialect/Shape.h
mlir/include/mlir-c/Dialect/Tensor.h
mlir/include/mlir-c/Dialect/Transform.h
mlir/include/mlir-c/Dialect/Vector.h
mlir/include/mlir/Dialect/AMDGPU/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Affine/CMakeLists.txt
mlir/include/mlir/Dialect/Arith/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/ArmSVE/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Bufferization/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Func/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/LLVMIR/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/MLProgram/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Math/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/MemRef/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/OpenACC/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/OpenMP/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Quant/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/SCF/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/SPIRV/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Shape/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Tensor/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Tosa/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Transform/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/Vector/Transforms/CMakeLists.txt
mlir/include/mlir/Dialect/XeGPU/Transforms/CMakeLists.txt
mlir/lib/CAPI/Dialect/CMakeLists.txt
mlir/lib/CAPI/Dialect/EmitC.cpp
mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
mlir/lib/Dialect/Affine/Transforms/AffineLoopInvariantCodeMotion.cpp
mlir/lib/Dialect/Affine/Transforms/AffineLoopNormalize.cpp
mlir/lib/Dialect/Affine/Transforms/AffineParallelize.cpp
mlir/lib/Dialect/Affine/Transforms/AffineScalarReplacement.cpp
mlir/lib/Dialect/Affine/Transforms/FoldMemRefAliasOps.cpp
mlir/lib/Dialect/Affine/Transforms/LoopCoalescing.cpp
mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
mlir/lib/Dialect/Affine/Transforms/LoopUnroll.cpp
mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
mlir/lib/RegisterAllPasses.cpp
mlir/test/lib/Dialect/Affine/TestAffineLoopParametricTiling.cpp
utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Removed:
mlir/include/mlir/Dialect/Affine/Passes.h
mlir/include/mlir/Dialect/Affine/Passes.td
################################################################################
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"
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-c/Dialect/AMDGPU.h b/mlir/include/mlir-c/Dialect/AMDGPU.h
index 7ce6bcc8e6942..8b98eebf3b201 100644
--- a/mlir/include/mlir-c/Dialect/AMDGPU.h
+++ b/mlir/include/mlir-c/Dialect/AMDGPU.h
@@ -61,4 +61,6 @@ MLIR_CAPI_EXPORTED MlirStringRef mlirAMDGPUTDMGatherBaseTypeGetName(void);
}
#endif
+#include "mlir/Dialect/AMDGPU/Transforms/Passes.capi.h.inc"
+
#endif // MLIR_C_DIALECT_AMDGPU_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..a5359c7ffc157
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Affine.h
@@ -0,0 +1,27 @@
+//===-- 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
+
+#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/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..e3c628f3a6df9
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/ArmSME.h
@@ -0,0 +1,27 @@
+//===-- 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
+
+#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
new file mode 100644
index 0000000000000..e9d63572c6fff
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/ArmSVE.h
@@ -0,0 +1,27 @@
+//===-- 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
+
+#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
new file mode 100644
index 0000000000000..1bdbd14603028
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Bufferization.h
@@ -0,0 +1,28 @@
+//===-- 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
+
+#include "mlir/Dialect/Bufferization/Transforms/Passes.capi.h.inc"
+
+#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/EmitC.h b/mlir/include/mlir-c/Dialect/EmitC.h
index 3bd4c5e016f79..67b01a031efd9 100644
--- a/mlir/include/mlir-c/Dialect/EmitC.h
+++ b/mlir/include/mlir-c/Dialect/EmitC.h
@@ -152,4 +152,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 8c512530d163d..f2aaa32d1da29 100644
--- a/mlir/include/mlir-c/Dialect/LLVM.h
+++ b/mlir/include/mlir-c/Dialect/LLVM.h
@@ -451,4 +451,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/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/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 3f1284ed8d68d..115c73d394209 100644
--- a/mlir/include/mlir-c/Dialect/NVGPU.h
+++ b/mlir/include/mlir-c/Dialect/NVGPU.h
@@ -35,4 +35,6 @@ MLIR_CAPI_EXPORTED MlirStringRef mlirNVGPUTensorMapDescriptorTypeGetName(void);
}
#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
new file mode 100644
index 0000000000000..d552b8561b8d2
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/OpenACC.h
@@ -0,0 +1,28 @@
+//===-- 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
+
+#include "mlir/Dialect/OpenACC/Transforms/Passes.capi.h.inc"
+
+#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..7212196f0168b
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/PDLInterp.h
@@ -0,0 +1,26 @@
+//===-- 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/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/Shard.h b/mlir/include/mlir-c/Dialect/Shard.h
new file mode 100644
index 0000000000000..ba85a80f2144f
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Shard.h
@@ -0,0 +1,27 @@
+//===-- 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
+
+#include "mlir/Dialect/Shard/Transforms/Passes.capi.h.inc"
+
+#endif // MLIR_C_DIALECT_SHARD_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
new file mode 100644
index 0000000000000..8550f47ee0bbf
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/Tosa.h
@@ -0,0 +1,27 @@
+//===-- 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
+
+#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 51c4386f3115c..911c9ef659a1e 100644
--- a/mlir/include/mlir-c/Dialect/Transform.h
+++ b/mlir/include/mlir-c/Dialect/Transform.h
@@ -90,4 +90,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/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/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/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-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/X86Vector.h b/mlir/include/mlir-c/Dialect/X86Vector.h
new file mode 100644
index 0000000000000..673870e32162d
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/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
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/Dialect/XeVM.h b/mlir/include/mlir-c/Dialect/XeVM.h
new file mode 100644
index 0000000000000..d8560d1c279cc
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/XeVM.h
@@ -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/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..cb1e9d01821a2 100644
--- a/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/Affine/CMakeLists.txt
@@ -1,8 +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)
-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 58596733a76c0..87a7e74fbd196 100644
--- a/mlir/include/mlir/Dialect/Affine/Passes.h
+++ b/mlir/include/mlir/Dialect/Affine/Transforms/Passes.h
@@ -36,7 +36,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)
@@ -137,7 +137,7 @@ void populateAffineFoldMemRefAliasOpPatterns(RewritePatternSet &patterns);
/// 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/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..964d91cd0c7ee 100644
--- a/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
+++ b/mlir/include/mlir/Dialect/ArmSME/Transforms/CMakeLists.txt
@@ -1,5 +1,7 @@
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)
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..7913a1e30d2e0 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(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)
+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)
diff --git a/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp b/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
new file mode 100644
index 0000000000000..d76ef760b9252
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/AMDGPUPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::amdgpu;
+
+#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..ed208c9b4b725
--- /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/AMXDialect.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..b796523390a29
--- /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/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
new file mode 100644
index 0000000000000..ee7c6f6ed53d0
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/AffinePasses.cpp
@@ -0,0 +1,26 @@
+//===- 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/Transforms/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;
+using namespace mlir::affine;
+
+#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..bd994925bd61b
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArithPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::arith;
+
+#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..d2da71f5430cd
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmNeon.cpp
@@ -0,0 +1,16 @@
+//===- 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/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
new file mode 100644
index 0000000000000..11d18e19d97a3
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSME.cpp
@@ -0,0 +1,16 @@
+//===- 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"
+
+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
new file mode 100644
index 0000000000000..44a4a35d242f0
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSMEPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::arm_sme;
+
+#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..9bf779c754040
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSVE.cpp
@@ -0,0 +1,16 @@
+//===- 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/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
new file mode 100644
index 0000000000000..780dd669d3984
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ArmSVEPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::arm_sve;
+
+#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..8a76b7c391bed
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/Bufferization.cpp
@@ -0,0 +1,16 @@
+//===- 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"
+
+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
new file mode 100644
index 0000000000000..2b914a04df955
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/BufferizationPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::bufferization;
+
+#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 30c9cb0593371..83bc6ff38852c 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -1,19 +1,84 @@
+add_mlir_upstream_c_api_library(MLIRCAPIAffine
+ Affine.cpp
+ AffinePasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRAffinePassIncGen
+
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRAffineDialect
+ MLIRAffineTransforms
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIAMDGPU
AMDGPU.cpp
+ AMDGPUPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRNVGPUPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRAMDGPUDialect
+ MLIRAMDGPUTransforms
+)
+
+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
MLIRCAPIIR
MLIRArithDialect
+ MLIRArithTransforms
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIArmNeon
+ ArmNeon.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRArmNeonDialect
+ MLIRArmNeonTransforms
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIArmSME
+ ArmSME.cpp
+ ArmSMEPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRArmSMEDialect
+ MLIRArmSMETransforms
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIArmSVE
+ ArmSVE.cpp
+ ArmSVEPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRArmSVEPassIncGen
+
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRArmSVEDialect
+ MLIRArmSVETransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIAsync
@@ -31,12 +96,27 @@ add_mlir_upstream_c_api_library(MLIRCAPIAsync
MLIRPass
)
+add_mlir_upstream_c_api_library(MLIRCAPIBufferization
+ Bufferization.cpp
+ BufferizationPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRBufferizationPassIncGen
+
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRBufferizationDialect
+ MLIRBufferizationTransforms
+)
+
add_mlir_upstream_c_api_library(MLIRCAPIComplex
Complex.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
+
MLIRComplexDialect
)
@@ -49,31 +129,35 @@ 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
+ MLIREmitCTransforms
)
-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
+ MLIRFuncTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIGPU
@@ -108,8 +192,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
@@ -117,37 +217,67 @@ 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
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRMathDialect
+ MLIRMathTransforms
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIMemRef
+ MemRef.cpp
+ MemRefPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
PARTIAL_SOURCES_INTENDED
DEPENDS
- MLIRLinalgPassIncGen
+ MLIRMemRefPassIncGen
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRLinalgDialect
- MLIRPass
- MLIRLinalgTransforms
+ MLIRMemRefDialect
+ MLIRMemRefTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIMLProgram
MLProgram.cpp
+ MLProgramPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRMLProgramPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRMLProgramDialect
+ MLIRMLProgramTransforms
+)
+
+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
+ DEPENDS
+ MLIRNVGPUPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRNVGPUDialect
+ MLIRNVGPUTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPINVVM
@@ -159,6 +289,65 @@ add_mlir_upstream_c_api_library(MLIRCAPINVVM
MLIRNVVMDialect
)
+add_mlir_upstream_c_api_library(MLIRCAPIOpenACC
+ OpenACC.cpp
+ OpenACCPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIROpenACCPassIncGen
+
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIROpenACCDialect
+ MLIROpenACCTransforms
+)
+
+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
@@ -168,18 +357,23 @@ add_mlir_upstream_c_api_library(MLIRCAPIROCDL
MLIRROCDLDialect
)
-
add_mlir_upstream_c_api_library(MLIRCAPISCF
SCF.cpp
+ SCFPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRSCFPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRSCFDialect
+ MLIRSCFTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPIShape
Shape.cpp
+ ShapePasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -187,46 +381,85 @@ 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
+ DEPENDS
+ MLIRShardPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRSparseTensorDialect
- MLIRSparseTensorTransforms
+ MLIRShardDialect
+ MLIRShardTransforms
)
-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
+ DEPENDS
+ MLIRSparseTensorPassIncGen
+
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRSparseTensorDialect
+ MLIRSparseTensorTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPISPIRV
SPIRV.cpp
+ SPIRVPasses.cpp
PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRSPIRVPassIncGen
+
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRSPIRVDialect
+ MLIRSPIRVTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPITensor
Tensor.cpp
+ TensorPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRTensorDialect
+ MLIRTensorTransforms
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPITosa
+ Tosa.cpp
+ TosaPasses.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ DEPENDS
+ MLIRTosaPassIncGen
+
+ LINK_LIBS PUBLIC
+ MLIRCAPIIR
+ MLIRTosaDialect
+ MLIRTosaTransforms
)
add_mlir_upstream_c_api_library(MLIRCAPITransformDialect
Transform.cpp
+ TransformPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
@@ -243,47 +476,67 @@ 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(MLIRCAPIVCIX
+ VCIX.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIROpenMPDialect
+ MLIRVCIXDialect
)
-add_mlir_upstream_c_api_library(MLIRCAPIPDL
- PDL.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIVector
+ Vector.cpp
+ VectorPasses.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRPDLDialect
+ MLIRVectorDialect
+ MLIRVectorTransforms
)
-add_mlir_upstream_c_api_library(MLIRCAPIVector
- Vector.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIWasmSSA
+ WasmSSA.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRVectorDialect
+ MLIRWasmSSADialect
)
-add_mlir_upstream_c_api_library(MLIRCAPISMT
- SMT.cpp
+add_mlir_upstream_c_api_library(MLIRCAPIX86Vector
+ X86Vector.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
- MLIRSMT
+ MLIRX86VectorDialect
+)
+
+add_mlir_upstream_c_api_library(MLIRCAPIXeGPU
+ XeGPU.cpp
+
+ PARTIAL_SOURCES_INTENDED
+ LINK_LIBS PUBLIC
+ 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/DLTI.cpp b/mlir/lib/CAPI/Dialect/DLTI.cpp
new file mode 100644
index 0000000000000..be17b28fca96a
--- /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/DLTI.h"
+
+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 941a9d07c60b1..2c158744e48f9 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
new file mode 100644
index 0000000000000..e07c13a862e2f
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/EmitCPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::emitc;
+
+#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..96c957f510d2a
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/FuncPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::func;
+
+#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..ab39c6d5d6e2a
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/LLVMPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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/LLVMIR/Transforms/Passes.h"
+#include "mlir/Pass/Pass.h"
+
+// Must include the declarations as they carry important visibility attributes.
+#include "mlir/Dialect/LLVMIR/Transforms/Passes.capi.h.inc"
+using namespace mlir;
+using namespace mlir::LLVM;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "mlir/Dialect/LLVMIR/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..ba8b33ffded4f
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MLProgramPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::ml_program;
+
+#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..8b20a25fe35b8
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MathPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::math;
+
+#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..fa258d459048c
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MemRefPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::memref;
+
+#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..b304a8a5aacb1
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/OpenACC.cpp
@@ -0,0 +1,15 @@
+//===- 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/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
new file mode 100644
index 0000000000000..c81bfb66a25e3
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/OpenACCPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::acc;
+
+#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..3d57397d25c0a
--- /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, pdl_interp,
+ mlir::pdl_interp::PDLInterpDialect)
diff --git a/mlir/lib/CAPI/Dialect/Ptr.cpp b/mlir/lib/CAPI/Dialect/Ptr.cpp
new file mode 100644
index 0000000000000..89780d77c1f8c
--- /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/PtrDialect.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..7201c837a3815
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/SPIRVPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::spirv;
+
+#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..82fc92eb3fafe
--- /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/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
new file mode 100644
index 0000000000000..032882b949e33
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/ShardPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::shard;
+
+#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..6dae87713ecf8
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/TensorPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::tensor;
+
+#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..357717a2ed5a5
--- /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/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
new file mode 100644
index 0000000000000..be2e61bed65bf
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/TosaPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::tosa;
+
+#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..957cc1984311a
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/TransformPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::transform;
+
+#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..37a74677cdad0
--- /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/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
new file mode 100644
index 0000000000000..22a51ddb69d82
--- /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/VectorPasses.cpp b/mlir/lib/CAPI/Dialect/VectorPasses.cpp
new file mode 100644
index 0000000000000..f9d71873f0c5a
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/VectorPasses.cpp
@@ -0,0 +1,26 @@
+//===- 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;
+using namespace mlir::vector;
+
+#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..976d8924df82e
--- /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..69edaa22f632b
--- /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/X86VectorDialect.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)
diff --git a/mlir/lib/CAPI/Dialect/XeVM.cpp b/mlir/lib/CAPI/Dialect/XeVM.cpp
new file mode 100644
index 0000000000000..4956714b15b14
--- /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)
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/FoldMemRefAliasOps.cpp b/mlir/lib/Dialect/Affine/Transforms/FoldMemRefAliasOps.cpp
index febdb94970431..6f6e40f586fc8 100644
--- a/mlir/lib/Dialect/Affine/Transforms/FoldMemRefAliasOps.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/FoldMemRefAliasOps.cpp
@@ -13,7 +13,7 @@
//===----------------------------------------------------------------------===//
#include "mlir/Dialect/Affine/IR/AffineOps.h"
-#include "mlir/Dialect/Affine/Passes.h"
+#include "mlir/Dialect/Affine/Transforms/Passes.h"
#include "mlir/Dialect/Affine/ViewLikeInterfaceUtils.h"
#include "mlir/Dialect/Arith/Utils/Utils.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
@@ -24,7 +24,7 @@
namespace mlir {
namespace affine {
#define GEN_PASS_DEF_AFFINEFOLDMEMREFALIASOPS
-#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 d7e321a61d4ac..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"
@@ -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/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 8717076dfa941..f54d3bdbd8676 100644
--- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
@@ -4253,12 +4253,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"],
)
@@ -4268,7 +4268,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"],
@@ -11935,15 +11935,15 @@ gentbl_cc_library(
tbl_outs = {
"include/mlir/Dialect/Tosa/Transforms/Passes.h.inc": [
"-gen-pass-decls",
- "-name=TosaOpt",
+ "-name=Tosa",
],
"include/mlir/Dialect/Tosa/Transforms/PassesEnums.h.inc": [
"-gen-enum-decls",
- "-name=TosaOpt",
+ "-name=Tosa",
],
"include/mlir/Dialect/Tosa/Transforms/PassesEnums.cpp.inc": [
"-gen-enum-defs",
- "-name=TosaOpt",
+ "-name=Tosa",
],
},
tblgen = ":mlir-tblgen",
More information about the Mlir-commits
mailing list