[mlir] Add C API for ControlFlow dialect

Add basic C API for the ControlFlow dialect. Follows the format of the other dialects.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D121867
This commit is contained in:
Martin Erhart 2022-03-17 00:17:53 +01:00
parent 56a25a95d4
commit f4548ed7fc
3 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,25 @@
//===-- mlir-c/Dialect/ControlFlow.h - C API for ControlFlow ------*- 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_CONTROLFLOW_H
#define MLIR_C_DIALECT_CONTROLFLOW_H
#include "mlir-c/Registration.h"
#ifdef __cplusplus
extern "C" {
#endif
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(ControlFlow, cf);
#ifdef __cplusplus
}
#endif
#endif // MLIR_C_DIALECT_CONTROLFLOW_H

View File

@ -13,6 +13,15 @@ add_mlir_upstream_c_api_library(MLIRCAPIAsync
MLIRPass
)
add_mlir_upstream_c_api_library(MLIRCAPIControlFlow
ControlFlow.cpp
PARTIAL_SOURCES_INTENDED
LINK_LIBS PUBLIC
MLIRCAPIIR
MLIRControlFlow
)
add_mlir_upstream_c_api_library(MLIRCAPIGPU
GPU.cpp
GPUPasses.cpp

View File

@ -0,0 +1,14 @@
//===- ControlFlow.cpp - C Interface for ControlFlow 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/ControlFlow.h"
#include "mlir/CAPI/Registration.h"
#include "mlir/Dialect/ControlFlow/IR/ControlFlow.h"
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(ControlFlow, cf,
mlir::cf::ControlFlowDialect)