xref: /llvm-project/mlir/include/mlir-c/Dialect/PDL.h (revision 5e83a5b4752da6631d79c446f21e5d128b5c5495)
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