MLIR  21.0.0git
EmitC.h
Go to the documentation of this file.
1 //===-- mlir-c/Dialect/EmitC.h - C API for EmitC 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_EmitC_H
11 #define MLIR_C_DIALECT_EmitC_H
12 
13 #include "mlir-c/IR.h"
14 #include "mlir-c/Support.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
21 
22 enum MlirEmitCCmpPredicate : uint64_t {
30 };
31 
32 //===---------------------------------------------------------------------===//
33 // ArrayType
34 //===---------------------------------------------------------------------===//
35 
37 
39 
40 MLIR_CAPI_EXPORTED MlirType mlirEmitCArrayTypeGet(intptr_t nDims,
41  int64_t *shape,
42  MlirType elementType);
43 
44 //===---------------------------------------------------------------------===//
45 // LValueType
46 //===---------------------------------------------------------------------===//
47 
49 
51 
52 MLIR_CAPI_EXPORTED MlirType mlirEmitCLValueTypeGet(MlirType valueType);
53 
54 //===---------------------------------------------------------------------===//
55 // OpaqueType
56 //===---------------------------------------------------------------------===//
57 
59 
61 
62 MLIR_CAPI_EXPORTED MlirType mlirEmitCOpaqueTypeGet(MlirContext ctx,
63  MlirStringRef value);
64 
65 //===---------------------------------------------------------------------===//
66 // PointerType
67 //===---------------------------------------------------------------------===//
68 
70 
72 
73 MLIR_CAPI_EXPORTED MlirType mlirEmitCPointerTypeGet(MlirType pointee);
74 
75 //===---------------------------------------------------------------------===//
76 // PtrDiffTType
77 //===---------------------------------------------------------------------===//
78 
80 
82 
83 MLIR_CAPI_EXPORTED MlirType mlirEmitCPtrDiffTTypeGet(MlirContext ctx);
84 
85 //===---------------------------------------------------------------------===//
86 // SignedSizeTType
87 //===---------------------------------------------------------------------===//
88 
90 
92 
93 MLIR_CAPI_EXPORTED MlirType mlirEmitCSignedSizeTTypeGet(MlirContext ctx);
94 
95 //===---------------------------------------------------------------------===//
96 // SizeTType
97 //===---------------------------------------------------------------------===//
98 
100 
102 
103 MLIR_CAPI_EXPORTED MlirType mlirEmitCSizeTTypeGet(MlirContext ctx);
104 
105 //===----------------------------------------------------------------------===//
106 // CmpPredicate attribute.
107 //===----------------------------------------------------------------------===//
108 
110 
111 MLIR_CAPI_EXPORTED MlirAttribute
112 mlirEmitCCmpPredicateAttrGet(MlirContext ctx, enum MlirEmitCCmpPredicate val);
113 
115 mlirEmitCCmpPredicateAttrGetValue(MlirAttribute attr);
116 
118 
119 //===----------------------------------------------------------------------===//
120 // Opaque attribute.
121 //===----------------------------------------------------------------------===//
122 
123 MLIR_CAPI_EXPORTED bool mlirAttributeIsAEmitCOpaque(MlirAttribute attr);
124 
125 MLIR_CAPI_EXPORTED MlirAttribute mlirEmitCOpaqueAttrGet(MlirContext ctx,
126  MlirStringRef value);
127 
129 mlirEmitCOpaqueAttrGetValue(MlirAttribute attr);
130 
132 
133 #ifdef __cplusplus
134 }
135 #endif
136 
137 #endif // MLIR_C_DIALECT_EmitC_H
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCOpaqueTypeGetTypeID(void)
Definition: EmitC.cpp:76
MLIR_CAPI_EXPORTED MlirAttribute mlirEmitCOpaqueAttrGet(MlirContext ctx, MlirStringRef value)
Definition: EmitC.cpp:179
MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitCOpaqueType(MlirType type)
Definition: EmitC.cpp:72
MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitCSizeTType(MlirType type)
Definition: EmitC.cpp:136
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCPointerTypeGetTypeID(void)
Definition: EmitC.cpp:92
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCCmpPredicateAttrGetTypeID(void)
Definition: EmitC.cpp:167
MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitCPointerType(MlirType type)
Definition: EmitC.cpp:88
MlirEmitCCmpPredicate
Definition: EmitC.h:22
@ MLIR_EMITC_CMP_PREDICATE_LE
Definition: EmitC.h:26
@ MLIR_EMITC_CMP_PREDICATE_EQ
Definition: EmitC.h:23
@ MLIR_EMITC_CMP_PREDICATE_THREE_WAY
Definition: EmitC.h:29
@ MLIR_EMITC_CMP_PREDICATE_LT
Definition: EmitC.h:25
@ MLIR_EMITC_CMP_PREDICATE_GE
Definition: EmitC.h:28
@ MLIR_EMITC_CMP_PREDICATE_NE
Definition: EmitC.h:24
@ MLIR_EMITC_CMP_PREDICATE_GT
Definition: EmitC.h:27
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCLValueTypeGetTypeID(void)
Definition: EmitC.cpp:60
MLIR_CAPI_EXPORTED MlirType mlirEmitCOpaqueTypeGet(MlirContext ctx, MlirStringRef value)
Definition: EmitC.cpp:80
MLIR_CAPI_EXPORTED enum MlirEmitCCmpPredicate mlirEmitCCmpPredicateAttrGetValue(MlirAttribute attr)
Definition: EmitC.cpp:162
MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(EmitC, emitc)
MLIR_CAPI_EXPORTED MlirAttribute mlirEmitCCmpPredicateAttrGet(MlirContext ctx, enum MlirEmitCCmpPredicate val)
Definition: EmitC.cpp:156
MLIR_CAPI_EXPORTED bool mlirAttributeIsAEmitCOpaque(MlirAttribute attr)
Definition: EmitC.cpp:175
MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitCArrayType(MlirType type)
Definition: EmitC.cpp:38
MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitCLValueType(MlirType type)
Definition: EmitC.cpp:56
MLIR_CAPI_EXPORTED MlirStringRef mlirEmitCOpaqueAttrGetValue(MlirAttribute attr)
Definition: EmitC.cpp:183
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCSignedSizeTTypeGetTypeID(void)
Definition: EmitC.cpp:124
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCSizeTTypeGetTypeID(void)
Definition: EmitC.cpp:140
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCArrayTypeGetTypeID(void)
Definition: EmitC.cpp:42
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCPtrDiffTTypeGetTypeID(void)
Definition: EmitC.cpp:108
MLIR_CAPI_EXPORTED MlirType mlirEmitCPtrDiffTTypeGet(MlirContext ctx)
Definition: EmitC.cpp:112
MLIR_CAPI_EXPORTED bool mlirAttributeIsAEmitCCmpPredicate(MlirAttribute attr)
Definition: EmitC.cpp:152
MLIR_CAPI_EXPORTED MlirType mlirEmitCLValueTypeGet(MlirType valueType)
Definition: EmitC.cpp:64
MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitCPtrDiffTType(MlirType type)
Definition: EmitC.cpp:104
MLIR_CAPI_EXPORTED MlirType mlirEmitCArrayTypeGet(intptr_t nDims, int64_t *shape, MlirType elementType)
Definition: EmitC.cpp:46
MLIR_CAPI_EXPORTED bool mlirTypeIsAEmitCSignedSizeTType(MlirType type)
Definition: EmitC.cpp:120
MLIR_CAPI_EXPORTED MlirType mlirEmitCSizeTTypeGet(MlirContext ctx)
Definition: EmitC.cpp:144
MLIR_CAPI_EXPORTED MlirType mlirEmitCPointerTypeGet(MlirType pointee)
Definition: EmitC.cpp:96
MLIR_CAPI_EXPORTED MlirTypeID mlirEmitCOpaqueAttrGetTypeID(void)
Definition: EmitC.cpp:187
MLIR_CAPI_EXPORTED MlirType mlirEmitCSignedSizeTTypeGet(MlirContext ctx)
Definition: EmitC.cpp:128
#define MLIR_CAPI_EXPORTED
Definition: Support.h:46
A pointer to a sized fragment of a string, not necessarily null-terminated.
Definition: Support.h:73