12
12
13
13
#include "mlir-c/IR.h"
14
14
#include "mlir-c/Support.h"
15
+ #include "mlir/Dialect/LLVMIR/LLVMOpsEnums.capi.h.inc"
15
16
16
17
#ifdef __cplusplus
17
18
extern "C" {
@@ -106,89 +107,14 @@ MLIR_CAPI_EXPORTED MlirLogicalResult
106
107
mlirLLVMStructTypeSetBody (MlirType structType , intptr_t nFieldTypes ,
107
108
MlirType const * fieldTypes , bool isPacked );
108
109
109
- enum MlirLLVMCConv {
110
- MlirLLVMCConvC = 0 ,
111
- MlirLLVMCConvFast = 8 ,
112
- MlirLLVMCConvCold = 9 ,
113
- MlirLLVMCConvGHC = 10 ,
114
- MlirLLVMCConvHiPE = 11 ,
115
- MlirLLVMCConvAnyReg = 13 ,
116
- MlirLLVMCConvPreserveMost = 14 ,
117
- MlirLLVMCConvPreserveAll = 15 ,
118
- MlirLLVMCConvSwift = 16 ,
119
- MlirLLVMCConvCXX_FAST_TLS = 17 ,
120
- MlirLLVMCConvTail = 18 ,
121
- MlirLLVMCConvCFGuard_Check = 19 ,
122
- MlirLLVMCConvSwiftTail = 20 ,
123
- MlirLLVMCConvX86_StdCall = 64 ,
124
- MlirLLVMCConvX86_FastCall = 65 ,
125
- MlirLLVMCConvARM_APCS = 66 ,
126
- MlirLLVMCConvARM_AAPCS = 67 ,
127
- MlirLLVMCConvARM_AAPCS_VFP = 68 ,
128
- MlirLLVMCConvMSP430_INTR = 69 ,
129
- MlirLLVMCConvX86_ThisCall = 70 ,
130
- MlirLLVMCConvPTX_Kernel = 71 ,
131
- MlirLLVMCConvPTX_Device = 72 ,
132
- MlirLLVMCConvSPIR_FUNC = 75 ,
133
- MlirLLVMCConvSPIR_KERNEL = 76 ,
134
- MlirLLVMCConvIntel_OCL_BI = 77 ,
135
- MlirLLVMCConvX86_64_SysV = 78 ,
136
- MlirLLVMCConvWin64 = 79 ,
137
- MlirLLVMCConvX86_VectorCall = 80 ,
138
- MlirLLVMCConvDUMMY_HHVM = 81 ,
139
- MlirLLVMCConvDUMMY_HHVM_C = 82 ,
140
- MlirLLVMCConvX86_INTR = 83 ,
141
- MlirLLVMCConvAVR_INTR = 84 ,
142
- MlirLLVMCConvAVR_BUILTIN = 86 ,
143
- MlirLLVMCConvAMDGPU_VS = 87 ,
144
- MlirLLVMCConvAMDGPU_GS = 88 ,
145
- MlirLLVMCConvAMDGPU_CS = 90 ,
146
- MlirLLVMCConvAMDGPU_KERNEL = 91 ,
147
- MlirLLVMCConvX86_RegCall = 92 ,
148
- MlirLLVMCConvAMDGPU_HS = 93 ,
149
- MlirLLVMCConvMSP430_BUILTIN = 94 ,
150
- MlirLLVMCConvAMDGPU_LS = 95 ,
151
- MlirLLVMCConvAMDGPU_ES = 96 ,
152
- MlirLLVMCConvAArch64_VectorCall = 97 ,
153
- MlirLLVMCConvAArch64_SVE_VectorCall = 98 ,
154
- MlirLLVMCConvWASM_EmscriptenInvoke = 99 ,
155
- MlirLLVMCConvAMDGPU_Gfx = 100 ,
156
- MlirLLVMCConvM68k_INTR = 101 ,
157
- };
158
- typedef enum MlirLLVMCConv MlirLLVMCConv ;
159
-
160
110
/// Creates a LLVM CConv attribute.
161
111
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMCConvAttrGet (MlirContext ctx ,
162
112
MlirLLVMCConv cconv );
163
113
164
- enum MlirLLVMComdat {
165
- MlirLLVMComdatAny = 0 ,
166
- MlirLLVMComdatExactMatch = 1 ,
167
- MlirLLVMComdatLargest = 2 ,
168
- MlirLLVMComdatNoDeduplicate = 3 ,
169
- MlirLLVMComdatSameSize = 4 ,
170
- };
171
- typedef enum MlirLLVMComdat MlirLLVMComdat ;
172
-
173
114
/// Creates a LLVM Comdat attribute.
174
115
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMComdatAttrGet (MlirContext ctx ,
175
116
MlirLLVMComdat comdat );
176
117
177
- enum MlirLLVMLinkage {
178
- MlirLLVMLinkagePrivate = 0 ,
179
- MlirLLVMLinkageInternal = 1 ,
180
- MlirLLVMLinkageAvailableExternally = 2 ,
181
- MlirLLVMLinkageLinkonce = 3 ,
182
- MlirLLVMLinkageWeak = 4 ,
183
- MlirLLVMLinkageCommon = 5 ,
184
- MlirLLVMLinkageAppending = 6 ,
185
- MlirLLVMLinkageExternWeak = 7 ,
186
- MlirLLVMLinkageLinkonceODR = 8 ,
187
- MlirLLVMLinkageWeakODR = 9 ,
188
- MlirLLVMLinkageExternal = 10 ,
189
- };
190
- typedef enum MlirLLVMLinkage MlirLLVMLinkage ;
191
-
192
118
/// Creates a LLVM Linkage attribute.
193
119
MLIR_CAPI_EXPORTED MlirAttribute
194
120
mlirLLVMLinkageAttrGet (MlirContext ctx , MlirLLVMLinkage linkage );
@@ -258,7 +184,7 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIStringTypeAttrGet(
258
184
MlirLLVMTypeEncoding encoding );
259
185
260
186
/// Constant to represent std::nullopt for dwarfAddressSpace to omit the field.
261
- #define MLIR_CAPI_DWARF_ADDRESS_SPACE_NULL -1
187
+ #define MLIR_CAPI_DWARF_ADDRESS_SPACE_NULL (-1)
262
188
263
189
/// Gets the base type from a LLVM DIDerivedType attribute.
264
190
MLIR_CAPI_EXPORTED MlirAttribute
@@ -269,22 +195,6 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFileAttrGet(MlirContext ctx,
269
195
MlirAttribute name ,
270
196
MlirAttribute directory );
271
197
272
- enum MlirLLVMDIEmissionKind {
273
- MlirLLVMDIEmissionKindNone = 0 ,
274
- MlirLLVMDIEmissionKindFull = 1 ,
275
- MlirLLVMDIEmissionKindLineTablesOnly = 2 ,
276
- MlirLLVMDIEmissionKindDebugDirectivesOnly = 3 ,
277
- };
278
- typedef enum MlirLLVMDIEmissionKind MlirLLVMDIEmissionKind ;
279
-
280
- enum MlirLLVMDINameTableKind {
281
- MlirLLVMDINameTableKindDefault = 0 ,
282
- MlirLLVMDINameTableKindGNU = 1 ,
283
- MlirLLVMDINameTableKindNone = 2 ,
284
- MlirLLVMDINameTableKindApple = 3 ,
285
- };
286
- typedef enum MlirLLVMDINameTableKind MlirLLVMDINameTableKind ;
287
-
288
198
/// Creates a LLVM DICompileUnit attribute.
289
199
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGet (
290
200
MlirContext ctx , MlirAttribute id , unsigned int sourceLanguage ,
@@ -293,7 +203,7 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGet(
293
203
294
204
/// Creates a LLVM DIFlags attribute.
295
205
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFlagsAttrGet (MlirContext ctx ,
296
- uint64_t value );
206
+ MlirLLVMDIFlags value );
297
207
298
208
/// Creates a LLVM DILexicalBlock attribute.
299
209
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDILexicalBlockAttrGet (
@@ -311,12 +221,18 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDILocalVariableAttrGet(
311
221
MlirAttribute diFile , unsigned int line , unsigned int arg ,
312
222
unsigned int alignInBits , MlirAttribute diType , int64_t flags );
313
223
224
+ /// Creates a LLVM DINamespaceAttr attribute.
225
+ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDINamespaceAttrGet (MlirContext ctx ,
226
+ MlirAttribute name ,
227
+ MlirAttribute scope ,
228
+ bool exportSymbols );
229
+
314
230
/// Creates a LLVM DISubprogramAttr attribute.
315
231
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGet (
316
232
MlirContext ctx , MlirAttribute id , MlirAttribute compileUnit ,
317
233
MlirAttribute scope , MlirAttribute name , MlirAttribute linkageName ,
318
234
MlirAttribute file , unsigned int line , unsigned int scopeLine ,
319
- uint64_t subprogramFlags , MlirAttribute type );
235
+ MlirLLVMDISubprogramFlags subprogramFlags , MlirAttribute type );
320
236
321
237
/// Gets the scope from this DISubprogramAttr.
322
238
MLIR_CAPI_EXPORTED MlirAttribute
@@ -330,6 +246,18 @@ mlirLLVMDISubprogramAttrGetLine(MlirAttribute diSubprogram);
330
246
MLIR_CAPI_EXPORTED unsigned int
331
247
mlirLLVMDISubprogramAttrGetScopeLine (MlirAttribute diSubprogram );
332
248
249
+ /// Gets the linkage name from this DISubprogramAttr.
250
+ MLIR_CAPI_EXPORTED MlirIdentifier
251
+ mlirLLVMDISubprogramAttrGetLinkageName (MlirAttribute diSubprogram );
252
+
253
+ /// Gets the name from this DISubprogramAttr.
254
+ MLIR_CAPI_EXPORTED MlirIdentifier
255
+ mlirLLVMDISubprogramAttrGetName (MlirAttribute diSubprogram );
256
+
257
+ /// Gets the subprogram flags from this DISubprogramAttr.
258
+ MLIR_CAPI_EXPORTED MlirLLVMDISubprogramFlags
259
+ mlirLLVMDISubprogramAttrGetSubprogramFlags (MlirAttribute diSubprogram );
260
+
333
261
/// Gets the compile unit from this DISubprogram.
334
262
MLIR_CAPI_EXPORTED MlirAttribute
335
263
mlirLLVMDISubprogramAttrGetCompileUnit (MlirAttribute diSubprogram );
@@ -357,6 +285,68 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIModuleAttrGet(
357
285
MLIR_CAPI_EXPORTED MlirAttribute
358
286
mlirLLVMDIModuleAttrGetScope (MlirAttribute diModule );
359
287
288
+ /// Gets the api notes of this DIModuleAttr.
289
+ MLIR_CAPI_EXPORTED MlirIdentifier
290
+ mlirLLVMDIModuleAttrGetApinotes (MlirAttribute diModule );
291
+
292
+ /// Gets the config macros of this DIModuleAttr.
293
+ MLIR_CAPI_EXPORTED MlirIdentifier
294
+ mlirLLVMDIModuleAttrGetConfigMacros (MlirAttribute diModule );
295
+
296
+ /// Gets the file of this DIModuleAttr.
297
+ MLIR_CAPI_EXPORTED MlirAttribute
298
+ mlirLLVMDIModuleAttrGetFile (MlirAttribute diModule );
299
+
300
+ /// Gets the include path of this DIModuleAttr.
301
+ MLIR_CAPI_EXPORTED MlirIdentifier
302
+ mlirLLVMDIModuleAttrGetIncludePath (MlirAttribute diModule );
303
+
304
+ /// Gets whether this DIModuleAttr is a declaration.
305
+ MLIR_CAPI_EXPORTED bool mlirLLVMDIModuleAttrGetIsDecl (MlirAttribute diModule );
306
+
307
+ /// Creates a LLVM DISubrange attribute.
308
+ ///
309
+ /// All parameters have the type IntegerAttr.
310
+ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubrangeAttrGet (
311
+ MlirContext ctx , MlirAttribute count , MlirAttribute lowerBound ,
312
+ MlirAttribute upperBound , MlirAttribute stride );
313
+
314
+ /// Creates a LLVM AtomicOrderingAttr.
315
+ MLIR_CAPI_EXPORTED MlirAttribute
316
+ mlirLLVMAtomicOrderingAttrGet (MlirContext ctx , MlirLLVMAtomicOrdering ordering );
317
+
318
+ /// Creates a LLVM AtomicBinOpAttr.
319
+ MLIR_CAPI_EXPORTED MlirAttribute
320
+ mlirLLVMAtomicBinOpAttrGet (MlirContext ctx , MlirLLVMAtomicBinOp val );
321
+
322
+ /// Creates a LLVM VisibilityAttr.
323
+ MLIR_CAPI_EXPORTED MlirAttribute
324
+ mlirLLVMVisibilityAttrGet (MlirContext ctx , MlirLLVMVisibility visibility );
325
+
326
+ /// Creates a LLVM UnnamedAddrAttr.
327
+ MLIR_CAPI_EXPORTED MlirAttribute
328
+ mlirLLVMUnnamedAddrAttrGet (MlirContext ctx , MlirLLVMUnnamedAddr val );
329
+
330
+ /// Creates a LLVM ICmpPredicateAttr.
331
+ MLIR_CAPI_EXPORTED MlirAttribute
332
+ mlirLLVMICmpPredicateAttrGet (MlirContext ctx , MlirLLVMICmpPredicate val );
333
+
334
+ /// Creates a LLVM FCmpPredicateAttr.
335
+ MLIR_CAPI_EXPORTED MlirAttribute
336
+ mlirLLVMFCmpPredicateAttrGet (MlirContext ctx , MlirLLVMFCmpPredicate val );
337
+
338
+ /// Creates a LLVM FramePointerKindAttr.
339
+ MLIR_CAPI_EXPORTED MlirAttribute
340
+ mlirLLVMFramePointerKindAttrGet (MlirContext ctx , MlirLLVMFramePointerKind val );
341
+
342
+ /// Creates a LLVM FastmathFlagsAttr.
343
+ MLIR_CAPI_EXPORTED MlirAttribute
344
+ mlirLLVMFastmathFlagsAttrGet (MlirContext ctx , MlirLLVMFastmathFlags val );
345
+
346
+ /// Creates a LLVM ModRefInfoAttr.
347
+ MLIR_CAPI_EXPORTED MlirAttribute
348
+ mlirLLVMModRefInfoAttrGet (MlirContext ctx , MlirLLVMModRefInfo val );
349
+
360
350
#ifdef __cplusplus
361
351
}
362
352
#endif
0 commit comments