1 //===-- mlir-c/Dialect/PDL.h - C API for PDL Dialect --------------*- C -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM 4 // Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef MLIR_C_DIALECT_PDL_H 11 #define MLIR_C_DIALECT_PDL_H 12 13 #include "mlir-c/IR.h" 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(PDL, pdl); 20 21 //===---------------------------------------------------------------------===// 22 // PDLType 23 //===---------------------------------------------------------------------===// 24 25 MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLType(MlirType type); 26 27 //===---------------------------------------------------------------------===// 28 // AttributeType 29 //===---------------------------------------------------------------------===// 30 31 MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLAttributeType(MlirType type); 32 33 MLIR_CAPI_EXPORTED MlirType mlirPDLAttributeTypeGet(MlirContext ctx); 34 35 //===---------------------------------------------------------------------===// 36 // OperationType 37 //===---------------------------------------------------------------------===// 38 39 MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLOperationType(MlirType type); 40 41 MLIR_CAPI_EXPORTED MlirType mlirPDLOperationTypeGet(MlirContext ctx); 42 43 //===---------------------------------------------------------------------===// 44 // RangeType 45 //===---------------------------------------------------------------------===// 46 47 MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLRangeType(MlirType type); 48 49 MLIR_CAPI_EXPORTED MlirType mlirPDLRangeTypeGet(MlirType elementType); 50 51 MLIR_CAPI_EXPORTED MlirType mlirPDLRangeTypeGetElementType(MlirType type); 52 53 //===---------------------------------------------------------------------===// 54 // TypeType 55 //===---------------------------------------------------------------------===// 56 57 MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLTypeType(MlirType type); 58 59 MLIR_CAPI_EXPORTED MlirType mlirPDLTypeTypeGet(MlirContext ctx); 60 61 //===---------------------------------------------------------------------===// 62 // ValueType 63 //===---------------------------------------------------------------------===// 64 65 MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLValueType(MlirType type); 66 67 MLIR_CAPI_EXPORTED MlirType mlirPDLValueTypeGet(MlirContext ctx); 68 69 #ifdef __cplusplus 70 } 71 #endif 72 73 #endif // MLIR_C_DIALECT_PDL_H 74