12
12
13
13
#include "mlir-c/IR.h"
14
14
#include "mlir-c/Support.h"
15
- #include "llvm-c/Comdat.h"
16
- #include "llvm-c/Core.h"
17
- #include "llvm-c/DebugInfo.h"
18
15
19
16
#ifdef __cplusplus
20
17
extern "C" {
@@ -102,17 +99,92 @@ MLIR_CAPI_EXPORTED MlirLogicalResult
102
99
mlirLLVMStructTypeSetBody (MlirType structType , intptr_t nFieldTypes ,
103
100
MlirType const * fieldTypes , bool isPacked );
104
101
102
+ enum MlirLLVMCConv {
103
+ MlirLLVMCConvC = 0 ,
104
+ MlirLLVMCConvFast = 8 ,
105
+ MlirLLVMCConvCold = 9 ,
106
+ MlirLLVMCConvGHC = 10 ,
107
+ MlirLLVMCConvHiPE = 11 ,
108
+ MlirLLVMCConvAnyReg = 13 ,
109
+ MlirLLVMCConvPreserveMost = 14 ,
110
+ MlirLLVMCConvPreserveAll = 15 ,
111
+ MlirLLVMCConvSwift = 16 ,
112
+ MlirLLVMCConvCXX_FAST_TLS = 17 ,
113
+ MlirLLVMCConvTail = 18 ,
114
+ MlirLLVMCConvCFGuard_Check = 19 ,
115
+ MlirLLVMCConvSwiftTail = 20 ,
116
+ MlirLLVMCConvX86_StdCall = 64 ,
117
+ MlirLLVMCConvX86_FastCall = 65 ,
118
+ MlirLLVMCConvARM_APCS = 66 ,
119
+ MlirLLVMCConvARM_AAPCS = 67 ,
120
+ MlirLLVMCConvARM_AAPCS_VFP = 68 ,
121
+ MlirLLVMCConvMSP430_INTR = 69 ,
122
+ MlirLLVMCConvX86_ThisCall = 70 ,
123
+ MlirLLVMCConvPTX_Kernel = 71 ,
124
+ MlirLLVMCConvPTX_Device = 72 ,
125
+ MlirLLVMCConvSPIR_FUNC = 75 ,
126
+ MlirLLVMCConvSPIR_KERNEL = 76 ,
127
+ MlirLLVMCConvIntel_OCL_BI = 77 ,
128
+ MlirLLVMCConvX86_64_SysV = 78 ,
129
+ MlirLLVMCConvWin64 = 79 ,
130
+ MlirLLVMCConvX86_VectorCall = 80 ,
131
+ MlirLLVMCConvDUMMY_HHVM = 81 ,
132
+ MlirLLVMCConvDUMMY_HHVM_C = 82 ,
133
+ MlirLLVMCConvX86_INTR = 83 ,
134
+ MlirLLVMCConvAVR_INTR = 84 ,
135
+ MlirLLVMCConvAVR_BUILTIN = 86 ,
136
+ MlirLLVMCConvAMDGPU_VS = 87 ,
137
+ MlirLLVMCConvAMDGPU_GS = 88 ,
138
+ MlirLLVMCConvAMDGPU_CS = 90 ,
139
+ MlirLLVMCConvAMDGPU_KERNEL = 91 ,
140
+ MlirLLVMCConvX86_RegCall = 92 ,
141
+ MlirLLVMCConvAMDGPU_HS = 93 ,
142
+ MlirLLVMCConvMSP430_BUILTIN = 94 ,
143
+ MlirLLVMCConvAMDGPU_LS = 95 ,
144
+ MlirLLVMCConvAMDGPU_ES = 96 ,
145
+ MlirLLVMCConvAArch64_VectorCall = 97 ,
146
+ MlirLLVMCConvAArch64_SVE_VectorCall = 98 ,
147
+ MlirLLVMCConvWASM_EmscriptenInvoke = 99 ,
148
+ MlirLLVMCConvAMDGPU_Gfx = 100 ,
149
+ MlirLLVMCConvM68k_INTR = 101 ,
150
+ };
151
+ typedef enum MlirLLVMCConv MlirLLVMCConv ;
152
+
105
153
/// Creates a LLVM CConv attribute.
106
154
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMCConvAttrGet (MlirContext ctx ,
107
- LLVMCallConv cconv );
155
+ MlirLLVMCConv cconv );
156
+
157
+ enum MlirLLVMComdat {
158
+ MlirLLVMComdatAny = 0 ,
159
+ MlirLLVMComdatExactMatch = 1 ,
160
+ MlirLLVMComdatLargest = 2 ,
161
+ MlirLLVMComdatNoDeduplicate = 3 ,
162
+ MlirLLVMComdatSameSize = 4 ,
163
+ };
164
+ typedef enum MlirLLVMComdat MlirLLVMComdat ;
108
165
109
166
/// Creates a LLVM Comdat attribute.
110
- MLIR_CAPI_EXPORTED MlirAttribute
111
- mlirLLVMComdatAttrGet (MlirContext ctx , LLVMComdatSelectionKind comdat );
167
+ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMComdatAttrGet (MlirContext ctx ,
168
+ MlirLLVMComdat comdat );
169
+
170
+ enum MlirLLVMLinkage {
171
+ MlirLLVMLinkagePrivate = 0 ,
172
+ MlirLLVMLinkageInternal = 1 ,
173
+ MlirLLVMLinkageAvailableExternally = 2 ,
174
+ MlirLLVMLinkageLinkonce = 3 ,
175
+ MlirLLVMLinkageWeak = 4 ,
176
+ MlirLLVMLinkageCommon = 5 ,
177
+ MlirLLVMLinkageAppending = 6 ,
178
+ MlirLLVMLinkageExternWeak = 7 ,
179
+ MlirLLVMLinkageLinkonceODR = 8 ,
180
+ MlirLLVMLinkageWeakODR = 9 ,
181
+ MlirLLVMLinkageExternal = 10 ,
182
+ };
183
+ typedef enum MlirLLVMLinkage MlirLLVMLinkage ;
112
184
113
185
/// Creates a LLVM Linkage attribute.
114
186
MLIR_CAPI_EXPORTED MlirAttribute
115
- mlirLLVMLinkageAttrGet (MlirContext ctx , LLVMLinkage linkage );
187
+ mlirLLVMLinkageAttrGet (MlirContext ctx , MlirLLVMLinkage linkage );
116
188
117
189
/// Creates a LLVM DINullType attribute.
118
190
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDINullTypeAttrGet (MlirContext ctx );
@@ -126,10 +198,34 @@ mlirLLVMDIExpressionElemAttrGet(MlirContext ctx, unsigned int opcode,
126
198
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIExpressionAttrGet (
127
199
MlirContext ctx , intptr_t nOperations , MlirAttribute const * operations );
128
200
201
+ enum MlirLLVMTypeEncoding {
202
+ MlirLLVMTypeEncodingAddress = 0x1 ,
203
+ MlirLLVMTypeEncodingBoolean = 0x2 ,
204
+ MlirLLVMTypeEncodingComplexFloat = 0x31 ,
205
+ MlirLLVMTypeEncodingFloatT = 0x4 ,
206
+ MlirLLVMTypeEncodingSigned = 0x5 ,
207
+ MlirLLVMTypeEncodingSignedChar = 0x6 ,
208
+ MlirLLVMTypeEncodingUnsigned = 0x7 ,
209
+ MlirLLVMTypeEncodingUnsignedChar = 0x08 ,
210
+ MlirLLVMTypeEncodingImaginaryFloat = 0x09 ,
211
+ MlirLLVMTypeEncodingPackedDecimal = 0x0a ,
212
+ MlirLLVMTypeEncodingNumericString = 0x0b ,
213
+ MlirLLVMTypeEncodingEdited = 0x0c ,
214
+ MlirLLVMTypeEncodingSignedFixed = 0x0d ,
215
+ MlirLLVMTypeEncodingUnsignedFixed = 0x0e ,
216
+ MlirLLVMTypeEncodingDecimalFloat = 0x0f ,
217
+ MlirLLVMTypeEncodingUTF = 0x10 ,
218
+ MlirLLVMTypeEncodingUCS = 0x11 ,
219
+ MlirLLVMTypeEncodingASCII = 0x12 ,
220
+ MlirLLVMTypeEncodingLoUser = 0x80 ,
221
+ MlirLLVMTypeEncodingHiUser = 0xff ,
222
+ };
223
+ typedef enum MlirLLVMTypeEncoding MlirLLVMTypeEncoding ;
224
+
129
225
/// Creates a LLVM DIBasicType attribute.
130
226
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIBasicTypeAttrGet (
131
227
MlirContext ctx , unsigned int tag , MlirAttribute name , uint64_t sizeInBits ,
132
- LLVMDWARFTypeEncoding encoding );
228
+ MlirLLVMTypeEncoding encoding );
133
229
134
230
/// Creates a LLVM DICompositeType attribute.
135
231
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompositeTypeAttrGet (
@@ -153,11 +249,19 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFileAttrGet(MlirContext ctx,
153
249
MlirAttribute name ,
154
250
MlirAttribute directory );
155
251
252
+ enum MlirLLVMDIEmissionKind {
253
+ MlirLLVMDIEmissionKindNone = 0 ,
254
+ MlirLLVMDIEmissionKindFull = 1 ,
255
+ MlirLLVMDIEmissionKindLineTablesOnly = 2 ,
256
+ MlirLLVMDIEmissionKindDebugDirectivesOnly = 3 ,
257
+ };
258
+ typedef enum MlirLLVMDIEmissionKind MlirLLVMDIEmissionKind ;
259
+
156
260
/// Creates a LLVM DICompileUnit attribute.
157
261
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGet (
158
262
MlirContext ctx , MlirAttribute id , unsigned int sourceLanguage ,
159
263
MlirAttribute file , MlirAttribute producer , bool isOptimized ,
160
- LLVMDWARFEmissionKind emissionKind );
264
+ MlirLLVMDIEmissionKind emissionKind );
161
265
162
266
/// Creates a LLVM DIFlags attribute.
163
267
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFlagsAttrGet (MlirContext ctx ,
0 commit comments