@@ -227,12 +227,54 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIBasicTypeAttrGet(
227
227
MlirContext ctx , unsigned int tag , MlirAttribute name , uint64_t sizeInBits ,
228
228
MlirLLVMTypeEncoding encoding );
229
229
230
+ enum MlirLLVMDIFlags {
231
+ MlirLLVMDIFlagsZero = 0 ,
232
+ MlirLLVMDIFlagsBit0 = 1 ,
233
+ MlirLLVMDIFlagsBit1 = 2 ,
234
+ MlirLLVMDIFlagsPrivate = 1 ,
235
+ MlirLLVMDIFlagsProtected = 2 ,
236
+ MlirLLVMDIFlagsPublic = 3 ,
237
+ MlirLLVMDIFlagsFwdDecl = 4 ,
238
+ MlirLLVMDIFlagsAppleBlock = 8 ,
239
+ MlirLLVMDIFlagsReservedBit4 = 16 ,
240
+ MlirLLVMDIFlagsVirtual = 32 ,
241
+ MlirLLVMDIFlagsArtificial = 64 ,
242
+ MlirLLVMDIFlagsExplicit = 128 ,
243
+ MlirLLVMDIFlagsPrototyped = 256 ,
244
+ MlirLLVMDIFlagsObjcClassComplete = 512 ,
245
+ MlirLLVMDIFlagsObjectPointer = 1024 ,
246
+ MlirLLVMDIFlagsVector = 2048 ,
247
+ MlirLLVMDIFlagsStaticMember = 4096 ,
248
+ MlirLLVMDIFlagsLValueReference = 8192 ,
249
+ MlirLLVMDIFlagsRValueReference = 16384 ,
250
+ MlirLLVMDIFlagsExportSymbols = 32768 ,
251
+ MlirLLVMDIFlagsSingleInheritance = 65536 ,
252
+ MlirLLVMDIFlagsMultipleInheritance = 65536 ,
253
+ MlirLLVMDIFlagsVirtualInheritance = 65536 ,
254
+ MlirLLVMDIFlagsIntroducedVirtual = 262144 ,
255
+ MlirLLVMDIFlagsBitField = 524288 ,
256
+ MlirLLVMDIFlagsNoReturn = 1048576 ,
257
+ MlirLLVMDIFlagsTypePassByValue = 4194304 ,
258
+ MlirLLVMDIFlagsTypePassByReference = 8388608 ,
259
+ MlirLLVMDIFlagsEnumClass = 16777216 ,
260
+ MlirLLVMDIFlagsThunk = 33554432 ,
261
+ MlirLLVMDIFlagsNonTrivial = 67108864 ,
262
+ MlirLLVMDIFlagsBigEndian = 134217728 ,
263
+ MlirLLVMDIFlagsLittleEndian = 268435456 ,
264
+ MlirLLVMDIFlagsAllCallsDescribed = 536870912 ,
265
+ };
266
+ typedef enum MlirLLVMDIFlags MlirLLVMDIFlags ;
267
+
268
+ /// Creates a LLVM DIFlags attribute.
269
+ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFlagsAttrGet (MlirContext ctx ,
270
+ MlirLLVMDIFlags value );
271
+
230
272
/// Creates a LLVM DICompositeType attribute.
231
273
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompositeTypeAttrGet (
232
274
MlirContext ctx , unsigned int tag , MlirAttribute name , MlirAttribute file ,
233
- uint32_t line , MlirAttribute scope , MlirAttribute baseType , int64_t flags ,
234
- uint64_t sizeInBits , uint64_t alignInBits , intptr_t nElements ,
235
- MlirAttribute const * elements );
275
+ uint32_t line , MlirAttribute scope , MlirAttribute baseType ,
276
+ MlirLLVMDIFlags flags , uint64_t sizeInBits , uint64_t alignInBits ,
277
+ intptr_t nElements , MlirAttribute const * elements );
236
278
237
279
/// Creates a LLVM DIDerivedType attribute.
238
280
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIDerivedTypeAttrGet (
@@ -263,10 +305,6 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGet(
263
305
MlirAttribute file , MlirAttribute producer , bool isOptimized ,
264
306
MlirLLVMDIEmissionKind emissionKind );
265
307
266
- /// Creates a LLVM DIFlags attribute.
267
- MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFlagsAttrGet (MlirContext ctx ,
268
- uint64_t value );
269
-
270
308
/// Creates a LLVM DILexicalBlock attribute.
271
309
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDILexicalBlockAttrGet (
272
310
MlirContext ctx , MlirAttribute scope , MlirAttribute file , unsigned int line ,
@@ -283,12 +321,33 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDILocalVariableAttrGet(
283
321
MlirAttribute diFile , unsigned int line , unsigned int arg ,
284
322
unsigned int alignInBits , MlirAttribute diType );
285
323
324
+ /// Creates a LLVM DINamespaceAttr attribute.
325
+ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDINamespaceAttrGet (MlirContext ctx ,
326
+ MlirAttribute name ,
327
+ MlirAttribute scope ,
328
+ bool exportSymbols );
329
+
330
+ enum MlirLLVMDISubprogramFlags {
331
+ MlirLLVMDISubprogramFlagsVirtual = 1 ,
332
+ MlirLLVMDISubprogramFlagsPureVirtual = 2 ,
333
+ MlirLLVMDISubprogramFlagsLocalToUnit = 4 ,
334
+ MlirLLVMDISubprogramFlagsDefinition = 8 ,
335
+ MlirLLVMDISubprogramFlagsOptimized = 16 ,
336
+ MlirLLVMDISubprogramFlagsPure = 32 ,
337
+ MlirLLVMDISubprogramFlagsElemental = 64 ,
338
+ MlirLLVMDISubprogramFlagsRecursive = 128 ,
339
+ MlirLLVMDISubprogramFlagsMainSubprogram = 256 ,
340
+ MlirLLVMDISubprogramFlagsDeleted = 512 ,
341
+ MlirLLVMDISubprogramFlagsObjCDirect = 2048 ,
342
+ };
343
+ typedef enum MlirLLVMDISubprogramFlags MlirLLVMDISubprogramFlags ;
344
+
286
345
/// Creates a LLVM DISubprogramAttr attribute.
287
346
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGet (
288
347
MlirContext ctx , MlirAttribute id , MlirAttribute compileUnit ,
289
348
MlirAttribute scope , MlirAttribute name , MlirAttribute linkageName ,
290
349
MlirAttribute file , unsigned int line , unsigned int scopeLine ,
291
- uint64_t subprogramFlags , MlirAttribute type );
350
+ MlirLLVMDISubprogramFlags subprogramFlags , MlirAttribute type );
292
351
293
352
/// Gets the scope from this DISubprogramAttr.
294
353
MLIR_CAPI_EXPORTED MlirAttribute
@@ -314,6 +373,18 @@ mlirLLVMDISubprogramAttrGetFile(MlirAttribute diSubprogram);
314
373
MLIR_CAPI_EXPORTED MlirAttribute
315
374
mlirLLVMDISubprogramAttrGetType (MlirAttribute diSubprogram );
316
375
376
+ /// Gets the linkage name from this DISubprogramAttr.
377
+ MLIR_CAPI_EXPORTED MlirIdentifier
378
+ mlirLLVMDISubprogramAttrGetLinkageName (MlirAttribute diSubprogram );
379
+
380
+ /// Gets the name from this DISubprogramAttr.
381
+ MLIR_CAPI_EXPORTED MlirIdentifier
382
+ mlirLLVMDISubprogramAttrGetName (MlirAttribute diSubprogram );
383
+
384
+ /// Gets the subprogram flags from this DISubprogramAttr.
385
+ MLIR_CAPI_EXPORTED MlirLLVMDISubprogramFlags
386
+ mlirLLVMDISubprogramAttrGetSubprogramFlags (MlirAttribute diSubprogram );
387
+
317
388
/// Creates a LLVM DISubroutineTypeAttr attribute.
318
389
MLIR_CAPI_EXPORTED MlirAttribute
319
390
mlirLLVMDISubroutineTypeAttrGet (MlirContext ctx , unsigned int callingConvention ,
@@ -329,6 +400,175 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIModuleAttrGet(
329
400
MLIR_CAPI_EXPORTED MlirAttribute
330
401
mlirLLVMDIModuleAttrGetScope (MlirAttribute diModule );
331
402
403
+ /// Gets the api notes of this DIModuleAttr.
404
+ MLIR_CAPI_EXPORTED MlirIdentifier
405
+ mlirLLVMDIModuleAttrGetApinotes (MlirAttribute diModule );
406
+
407
+ /// Gets the config macros of this DIModuleAttr.
408
+ MLIR_CAPI_EXPORTED MlirIdentifier
409
+ mlirLLVMDIModuleAttrGetConfigMacros (MlirAttribute diModule );
410
+
411
+ /// Gets the file of this DIModuleAttr.
412
+ MLIR_CAPI_EXPORTED MlirAttribute
413
+ mlirLLVMDIModuleAttrGetFile (MlirAttribute diModule );
414
+
415
+ /// Gets the include path of this DIModuleAttr.
416
+ MLIR_CAPI_EXPORTED MlirIdentifier
417
+ mlirLLVMDIModuleAttrGetIncludePath (MlirAttribute diModule );
418
+
419
+ /// Gets whether this DIModuleAttr is a declaration.
420
+ MLIR_CAPI_EXPORTED bool mlirLLVMDIModuleAttrGetIsDecl (MlirAttribute diModule );
421
+
422
+ /// Creates a LLVM DISubrange attribute.
423
+ ///
424
+ /// All parameters have the type IntegerAttr.
425
+ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubrangeAttrGet (
426
+ MlirContext ctx , MlirAttribute count , MlirAttribute lowerBound ,
427
+ MlirAttribute upperBound , MlirAttribute stride );
428
+
429
+ enum MlirLLVMAtomicOrdering {
430
+ MlirLLVMAtomicOrderingNot_atomic = 0 ,
431
+ MlirLLVMAtomicOrderingUnordered = 1 ,
432
+ MlirLLVMAtomicOrderingMonotonic = 2 ,
433
+ MlirLLVMAtomicOrderingAcquire = 4 ,
434
+ MlirLLVMAtomicOrderingRelease = 5 ,
435
+ MlirLLVMAtomicOrderingAcq_rel = 6 ,
436
+ MlirLLVMAtomicOrderingSeq_cst = 7 ,
437
+ };
438
+ typedef enum MlirLLVMAtomicOrdering MlirLLVMAtomicOrdering ;
439
+
440
+ /// Creates a LLVM AtomicOrderingAttr.
441
+ MLIR_CAPI_EXPORTED MlirAttribute
442
+ mlirLLVMAtomicOrderingAttrGet (MlirContext ctx , MlirLLVMAtomicOrdering ordering );
443
+
444
+ enum MlirLLVMAtomicBinOp {
445
+ MlirLLVMAtomicBinOpxchg = 0 ,
446
+ MlirLLVMAtomicBinOpadd = 1 ,
447
+ MlirLLVMAtomicBinOpsub = 2 ,
448
+ MlirLLVMAtomicBinOp_and = 3 ,
449
+ MlirLLVMAtomicBinOpnand = 4 ,
450
+ MlirLLVMAtomicBinOp_or = 5 ,
451
+ MlirLLVMAtomicBinOp_xor = 6 ,
452
+ MlirLLVMAtomicBinOpmax = 7 ,
453
+ MlirLLVMAtomicBinOpmin = 8 ,
454
+ MlirLLVMAtomicBinOpumax = 9 ,
455
+ MlirLLVMAtomicBinOpumin = 10 ,
456
+ MlirLLVMAtomicBinOpfadd = 11 ,
457
+ MlirLLVMAtomicBinOpfsub = 12 ,
458
+ MlirLLVMAtomicBinOpfmax = 13 ,
459
+ MlirLLVMAtomicBinOpfmin = 14 ,
460
+ MlirLLVMAtomicBinOpuinc_wrap = 15 ,
461
+ MlirLLVMAtomicBinOpudec_wrap = 16 ,
462
+ };
463
+ typedef enum MlirLLVMAtomicBinOp MlirLLVMAtomicBinOp ;
464
+
465
+ /// Creates a LLVM AtomicBinOpAttr.
466
+ MLIR_CAPI_EXPORTED MlirAttribute
467
+ mlirLLVMAtomicBinOpAttrGet (MlirContext ctx , MlirLLVMAtomicBinOp val );
468
+
469
+ enum MlirLLVMVisibility {
470
+ MlirLLVMVisibilityDefault = 0 ,
471
+ MlirLLVMVisibilityHidden = 1 ,
472
+ MlirLLVMVisibilityProtected = 2 ,
473
+ };
474
+ typedef enum MlirLLVMVisibility MlirLLVMVisibility ;
475
+
476
+ /// Creates a LLVM VisibilityAttr.
477
+ MLIR_CAPI_EXPORTED MlirAttribute
478
+ mlirLLVMVisibilityAttrGet (MlirContext ctx , MlirLLVMVisibility visibility );
479
+
480
+ enum MlirLLVMUnnamedAddr {
481
+ MlirLLVMUnnamedAddrNone = 0 ,
482
+ MlirLLVMUnnamedAddrLocal = 1 ,
483
+ MlirLLVMUnnamedAddrGlobal = 2 ,
484
+ };
485
+ typedef enum MlirLLVMUnnamedAddr MlirLLVMUnnamedAddr ;
486
+
487
+ /// Creates a LLVM UnnamedAddrAttr.
488
+ MLIR_CAPI_EXPORTED MlirAttribute
489
+ mlirLLVMUnnamedAddrAttrGet (MlirContext ctx , MlirLLVMUnnamedAddr val );
490
+
491
+ enum MlirLLVMICmpPredicate {
492
+ MlirLLVMICmpPredicateEq = 0 ,
493
+ MlirLLVMICmpPredicateNe = 1 ,
494
+ MlirLLVMICmpPredicateSlt = 2 ,
495
+ MlirLLVMICmpPredicateSle = 3 ,
496
+ MlirLLVMICmpPredicateSgt = 4 ,
497
+ MlirLLVMICmpPredicateSge = 5 ,
498
+ MlirLLVMICmpPredicateUlt = 6 ,
499
+ MlirLLVMICmpPredicateUle = 7 ,
500
+ MlirLLVMICmpPredicateUgt = 8 ,
501
+ MlirLLVMICmpPredicateUge = 9 ,
502
+ };
503
+ typedef enum MlirLLVMICmpPredicate MlirLLVMICmpPredicate ;
504
+
505
+ /// Creates a LLVM ICmpPredicateAttr.
506
+ MLIR_CAPI_EXPORTED MlirAttribute
507
+ mlirLLVMICmpPredicateAttrGet (MlirContext ctx , MlirLLVMICmpPredicate val );
508
+
509
+ enum MlirLLVMFCmpPredicate {
510
+ MlirLLVMFCmpPredicate_false = 0 ,
511
+ MlirLLVMFCmpPredicateOeq = 1 ,
512
+ MlirLLVMFCmpPredicateOgt = 2 ,
513
+ MlirLLVMFCmpPredicateOge = 3 ,
514
+ MlirLLVMFCmpPredicateOlt = 4 ,
515
+ MlirLLVMFCmpPredicateOle = 5 ,
516
+ MlirLLVMFCmpPredicateOne = 6 ,
517
+ MlirLLVMFCmpPredicateOrd = 7 ,
518
+ MlirLLVMFCmpPredicateUeq = 8 ,
519
+ MlirLLVMFCmpPredicateUgt = 9 ,
520
+ MlirLLVMFCmpPredicateUge = 10 ,
521
+ MlirLLVMFCmpPredicateUlt = 11 ,
522
+ MlirLLVMFCmpPredicateUle = 12 ,
523
+ MlirLLVMFCmpPredicateUne = 13 ,
524
+ MlirLLVMFCmpPredicateUno = 14 ,
525
+ MlirLLVMFCmpPredicate_true = 15 ,
526
+ };
527
+ typedef enum MlirLLVMFCmpPredicate MlirLLVMFCmpPredicate ;
528
+ /// Creates a LLVM FCmpPredicateAttr.
529
+ MLIR_CAPI_EXPORTED MlirAttribute
530
+ mlirLLVMFCmpPredicateAttrGet (MlirContext ctx , MlirLLVMFCmpPredicate val );
531
+
532
+ enum MlirLLVMFramePointerKind {
533
+ MlirLLVMFramePointerKindNone = 0 ,
534
+ MlirLLVMFramePointerKindNonLeaf = 1 ,
535
+ MlirLLVMFramePointerKindAll = 2 ,
536
+ };
537
+ typedef enum MlirLLVMFramePointerKind MlirLLVMFramePointerKind ;
538
+
539
+ /// Creates a LLVM FramePointerKindAttr.
540
+ MLIR_CAPI_EXPORTED MlirAttribute
541
+ mlirLLVMFramePointerKindAttrGet (MlirContext ctx , MlirLLVMFramePointerKind val );
542
+
543
+ enum MlirLLVMFastmathFlags {
544
+ MlirLLVMFastmathFlagsNone = 0 ,
545
+ MlirLLVMFastmathFlagsNnan = 1 ,
546
+ MlirLLVMFastmathFlagsNinf = 2 ,
547
+ MlirLLVMFastmathFlagsNsz = 4 ,
548
+ MlirLLVMFastmathFlagsArcp = 8 ,
549
+ MlirLLVMFastmathFlagsContract = 16 ,
550
+ MlirLLVMFastmathFlagsAfn = 32 ,
551
+ MlirLLVMFastmathFlagsReassoc = 64 ,
552
+ MlirLLVMFastmathFlagsFast = 127 ,
553
+ };
554
+ typedef enum MlirLLVMFastmathFlags MlirLLVMFastmathFlags ;
555
+
556
+ /// Creates a LLVM FastmathFlagsAttr.
557
+ MLIR_CAPI_EXPORTED MlirAttribute
558
+ mlirLLVMFastmathFlagsAttrGet (MlirContext ctx , MlirLLVMFastmathFlags val );
559
+
560
+ enum MlirLLVMModRefInfo {
561
+ MlirLLVMModRefInfoNoModRef = 0 ,
562
+ MlirLLVMModRefInfoRef = 1 ,
563
+ MlirLLVMModRefInfoMod = 2 ,
564
+ MlirLLVMModRefInfoModRef = 3 ,
565
+ };
566
+ typedef enum MlirLLVMModRefInfo MlirLLVMModRefInfo ;
567
+
568
+ /// Creates a LLVM ModRefInfoAttr.
569
+ MLIR_CAPI_EXPORTED MlirAttribute
570
+ mlirLLVMModRefInfoAttrGet (MlirContext ctx , MlirLLVMModRefInfo val );
571
+
332
572
#ifdef __cplusplus
333
573
}
334
574
#endif
0 commit comments