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 | |