CIRCT  20.0.0git
RTG.h
Go to the documentation of this file.
1 //===- RTG.h - C interface for the for RTG dialect ----------------*- 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 #ifndef CIRCT_C_DIALECT_RTG_H
10 #define CIRCT_C_DIALECT_RTG_H
11 
12 #include "mlir-c/IR.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 //===----------------------------------------------------------------------===//
19 // Dialect API.
20 //===----------------------------------------------------------------------===//
21 
23 
24 //===----------------------------------------------------------------------===//
25 // Type API.
26 //===----------------------------------------------------------------------===//
27 
28 /// If the type is an RTG sequence.
29 MLIR_CAPI_EXPORTED bool rtgTypeIsASequence(MlirType type);
30 
31 /// Creates an RTG sequence type in the context.
32 MLIR_CAPI_EXPORTED MlirType rtgSequenceTypeGet(MlirContext ctxt);
33 
34 /// If the type is an RTG label.
35 MLIR_CAPI_EXPORTED bool rtgTypeIsALabel(MlirType type);
36 
37 /// Creates an RTG mode type in the context.
38 MLIR_CAPI_EXPORTED MlirType rtgLabelTypeGet(MlirContext ctxt);
39 
40 /// If the type is an RTG set.
41 MLIR_CAPI_EXPORTED bool rtgTypeIsASet(MlirType type);
42 
43 /// Creates an RTG set type in the context.
44 MLIR_CAPI_EXPORTED MlirType rtgSetTypeGet(MlirType elementType);
45 
46 /// If the type is an RTG bag.
47 MLIR_CAPI_EXPORTED bool rtgTypeIsABag(MlirType type);
48 
49 /// Creates an RTG bag type in the context.
50 MLIR_CAPI_EXPORTED MlirType rtgBagTypeGet(MlirType elementType);
51 
52 /// If the type is an RTG dict.
53 MLIR_CAPI_EXPORTED bool rtgTypeIsADict(MlirType type);
54 
55 /// Creates an RTG dict type in the context.
56 MLIR_CAPI_EXPORTED MlirType rtgDictTypeGet(MlirContext ctxt,
57  intptr_t numEntries,
58  MlirAttribute const *entryNames,
59  MlirType const *entryTypes);
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 
65 #endif // CIRCT_C_DIALECT_RTG_H
MlirType elementType
Definition: CHIRRTL.cpp:29
MLIR_CAPI_EXPORTED MlirType rtgLabelTypeGet(MlirContext ctxt)
Creates an RTG mode type in the context.
Definition: RTG.cpp:44
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(RTG, rtg)
MLIR_CAPI_EXPORTED bool rtgTypeIsABag(MlirType type)
If the type is an RTG bag.
Definition: RTG.cpp:61
MLIR_CAPI_EXPORTED MlirType rtgSetTypeGet(MlirType elementType)
Creates an RTG set type in the context.
Definition: RTG.cpp:53
MLIR_CAPI_EXPORTED bool rtgTypeIsASet(MlirType type)
If the type is an RTG set.
Definition: RTG.cpp:51
MLIR_CAPI_EXPORTED bool rtgTypeIsADict(MlirType type)
If the type is an RTG dict.
Definition: RTG.cpp:71
MLIR_CAPI_EXPORTED MlirType rtgSequenceTypeGet(MlirContext ctxt)
Creates an RTG sequence type in the context.
Definition: RTG.cpp:35
MLIR_CAPI_EXPORTED MlirType rtgDictTypeGet(MlirContext ctxt, intptr_t numEntries, MlirAttribute const *entryNames, MlirType const *entryTypes)
Creates an RTG dict type in the context.
Definition: RTG.cpp:73
MLIR_CAPI_EXPORTED MlirType rtgBagTypeGet(MlirType elementType)
Creates an RTG bag type in the context.
Definition: RTG.cpp:63
MLIR_CAPI_EXPORTED bool rtgTypeIsASequence(MlirType type)
If the type is an RTG sequence.
Definition: RTG.cpp:31
MLIR_CAPI_EXPORTED bool rtgTypeIsALabel(MlirType type)
If the type is an RTG label.
Definition: RTG.cpp:42
Definition: rtg.py:1