1 //===- IR.h - C API Utils for Core MLIR classes -----------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file contains declarations of implementation details of the C API for 10 // core MLIR classes. This file should not be included from C++ code other than 11 // C API implementation nor from C code. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #ifndef MLIR_CAPI_IR_H 16 #define MLIR_CAPI_IR_H 17 18 #include "mlir/CAPI/Wrap.h" 19 #include "mlir/IR/BuiltinOps.h" 20 #include "mlir/IR/Identifier.h" 21 #include "mlir/IR/MLIRContext.h" 22 #include "mlir/IR/Operation.h" 23 24 DEFINE_C_API_PTR_METHODS(MlirContext, mlir::MLIRContext) 25 DEFINE_C_API_PTR_METHODS(MlirDialect, mlir::Dialect) 26 DEFINE_C_API_PTR_METHODS(MlirOperation, mlir::Operation) 27 DEFINE_C_API_PTR_METHODS(MlirBlock, mlir::Block) 28 DEFINE_C_API_PTR_METHODS(MlirOpPrintingFlags, mlir::OpPrintingFlags) 29 DEFINE_C_API_PTR_METHODS(MlirRegion, mlir::Region) 30 31 DEFINE_C_API_METHODS(MlirAttribute, mlir::Attribute) 32 DEFINE_C_API_METHODS(MlirIdentifier, mlir::Identifier) 33 DEFINE_C_API_METHODS(MlirLocation, mlir::Location) 34 DEFINE_C_API_METHODS(MlirModule, mlir::ModuleOp) 35 DEFINE_C_API_METHODS(MlirType, mlir::Type) 36 DEFINE_C_API_METHODS(MlirValue, mlir::Value) 37 38 #endif // MLIR_CAPI_IR_H 39