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
16extern "C" {
17#endif
18
19MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(PDL, pdl);
20
21//===---------------------------------------------------------------------===//
22// PDLType
23//===---------------------------------------------------------------------===//
24
25MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLType(MlirType type);
26
27//===---------------------------------------------------------------------===//
28// AttributeType
29//===---------------------------------------------------------------------===//
30
31MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLAttributeType(MlirType type);
32
33MLIR_CAPI_EXPORTED MlirType mlirPDLAttributeTypeGet(MlirContext ctx);
34
35//===---------------------------------------------------------------------===//
36// OperationType
37//===---------------------------------------------------------------------===//
38
39MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLOperationType(MlirType type);
40
41MLIR_CAPI_EXPORTED MlirType mlirPDLOperationTypeGet(MlirContext ctx);
42
43//===---------------------------------------------------------------------===//
44// RangeType
45//===---------------------------------------------------------------------===//
46
47MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLRangeType(MlirType type);
48
49MLIR_CAPI_EXPORTED MlirType mlirPDLRangeTypeGet(MlirType elementType);
50
51MLIR_CAPI_EXPORTED MlirType mlirPDLRangeTypeGetElementType(MlirType type);
52
53//===---------------------------------------------------------------------===//
54// TypeType
55//===---------------------------------------------------------------------===//
56
57MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLTypeType(MlirType type);
58
59MLIR_CAPI_EXPORTED MlirType mlirPDLTypeTypeGet(MlirContext ctx);
60
61//===---------------------------------------------------------------------===//
62// ValueType
63//===---------------------------------------------------------------------===//
64
65MLIR_CAPI_EXPORTED bool mlirTypeIsAPDLValueType(MlirType type);
66
67MLIR_CAPI_EXPORTED MlirType mlirPDLValueTypeGet(MlirContext ctx);
68
69#ifdef __cplusplus
70}
71#endif
72
73#endif // MLIR_C_DIALECT_PDL_H
74

source code of mlir/include/mlir-c/Dialect/PDL.h