aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Pienaar <jpienaar@google.com>2022-10-03 09:38:17 -0700
committerJacques Pienaar <jpienaar@google.com>2022-10-03 09:38:17 -0700
commit9181673bef5e1b27c8b53c950c4fcd6196f4076a (patch)
tree93fd3eab34662d6a01f95d3355479ce4aca27cd2
parent966411790ef9a594415676dcb9619adcaeb3bd26 (diff)
downloadllvm-9181673bef5e1b27c8b53c950c4fcd6196f4076a.zip
llvm-9181673bef5e1b27c8b53c950c4fcd6196f4076a.tar.gz
llvm-9181673bef5e1b27c8b53c950c4fcd6196f4076a.tar.bz2
[mlir][c] Init MLProgram C API
Add MLIR upstream C api library definition. Differential Revision: https://reviews.llvm.org/D135083
-rw-r--r--mlir/include/mlir-c/Dialect/MLProgram.h25
-rw-r--r--mlir/lib/CAPI/Dialect/CMakeLists.txt9
-rw-r--r--mlir/lib/CAPI/Dialect/MLProgram.cpp14
3 files changed, 48 insertions, 0 deletions
diff --git a/mlir/include/mlir-c/Dialect/MLProgram.h b/mlir/include/mlir-c/Dialect/MLProgram.h
new file mode 100644
index 0000000..0874955
--- /dev/null
+++ b/mlir/include/mlir-c/Dialect/MLProgram.h
@@ -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
diff --git a/mlir/lib/CAPI/Dialect/CMakeLists.txt b/mlir/lib/CAPI/Dialect/CMakeLists.txt
index e5173ff..2f36040 100644
--- a/mlir/lib/CAPI/Dialect/CMakeLists.txt
+++ b/mlir/lib/CAPI/Dialect/CMakeLists.txt
@@ -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
index 0000000..525b958
--- /dev/null
+++ b/mlir/lib/CAPI/Dialect/MLProgram.cpp
@@ -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)