[mlir][c] Init MLProgram C API
authorJacques Pienaar <jpienaar@google.com>
Mon, 3 Oct 2022 16:38:17 +0000 (09:38 -0700)
committerJacques Pienaar <jpienaar@google.com>
Mon, 3 Oct 2022 16:38:17 +0000 (09:38 -0700)
Add MLIR upstream C api library definition.

Differential Revision: https://reviews.llvm.org/D135083

mlir/include/mlir-c/Dialect/MLProgram.h [new file with mode: 0644]
mlir/lib/CAPI/Dialect/CMakeLists.txt
mlir/lib/CAPI/Dialect/MLProgram.cpp [new file with mode: 0644]

diff --git a/mlir/include/mlir-c/Dialect/MLProgram.h b/mlir/include/mlir-c/Dialect/MLProgram.h
new file mode 100644 (file)
index 0000000..0874955
--- /dev/null
@@ -0,0 +1,25 @@
+//===-- mlir-c/Dialect/MLProgram.h - C API for MLProgram 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_MLPROGRAM_H
+#define MLIR_C_DIALECT_MLPROGRAM_H
+
+#include "mlir-c/IR.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(MLProgram, ml_program);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // MLIR_C_DIALECT_MLPROGRAM_H
index e5173ff..2f36040 100644 (file)
@@ -60,6 +60,15 @@ add_mlir_upstream_c_api_library(MLIRCAPILinalg
   MLIRLinalgTransforms
 )
 
+add_mlir_upstream_c_api_library(MLIRCAPIMLProgram
+  MLProgram.cpp
+
+  PARTIAL_SOURCES_INTENDED
+  LINK_LIBS PUBLIC
+  MLIRCAPIIR
+  MLIRMLProgramDialect
+)
+
 add_mlir_upstream_c_api_library(MLIRCAPISCF
   SCF.cpp
 
diff --git a/mlir/lib/CAPI/Dialect/MLProgram.cpp b/mlir/lib/CAPI/Dialect/MLProgram.cpp
new file mode 100644 (file)
index 0000000..525b958
--- /dev/null
@@ -0,0 +1,14 @@
+//===- MLProgram.cpp - C Interface for MLProgram 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/Dialect/MLProgram/IR/MLProgram.h"
+#include "mlir-c/Dialect/MLProgram.h"
+#include "mlir/CAPI/Registration.h"
+
+MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(MLProgram, ml_program,
+                                      mlir::ml_program::MLProgramDialect)