MLIR 24.0.0git
LLVM.h
Go to the documentation of this file.
1//===-- mlir-c/Dialect/LLVM.h - C API for LLVM --------------------*- 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_LLVM_H
11#define MLIR_C_DIALECT_LLVM_H
12
13#include "mlir-c/IR.h"
14#include "mlir-c/Support.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
21
22/// Creates an llvm.ptr type.
23MLIR_CAPI_EXPORTED MlirType mlirLLVMPointerTypeGet(MlirContext ctx,
24 unsigned addressSpace);
25
27
29
30/// Returns `true` if the type is an LLVM dialect pointer type.
32
33/// Returns address space of llvm.ptr
34MLIR_CAPI_EXPORTED unsigned
35mlirLLVMPointerTypeGetAddressSpace(MlirType pointerType);
36
37/// Creates an llmv.void type.
38MLIR_CAPI_EXPORTED MlirType mlirLLVMVoidTypeGet(MlirContext ctx);
39
41
42/// Returns `true` if the type is an LLVM dialect array type.
44
46
47/// Creates an llvm.array type.
48MLIR_CAPI_EXPORTED MlirType mlirLLVMArrayTypeGet(MlirType elementType,
49 unsigned numElements);
50
52
53/// Returns the element type of the llvm.array type.
55
56/// Returns the number of elements in the llvm.array type.
58
59/// Creates an llvm.func type.
60MLIR_CAPI_EXPORTED MlirType
61mlirLLVMFunctionTypeGet(MlirType resultType, intptr_t nArgumentTypes,
62 MlirType const *argumentTypes, bool isVarArg);
63
65
66/// Returns `true` if the type is an LLVM dialect function type.
68
69/// Returns the TypeID of an LLVM function type.
71
72/// Returns the number of input types.
74
75/// Returns the pos-th input type.
77 intptr_t pos);
78
79/// Returns `true` if the function type is variadic.
81
82/// Returns the return type of the function type.
84
85/// Returns `true` if the type is an LLVM dialect struct type.
87
89
91
92/// Returns `true` if the type is a literal (unnamed) LLVM struct type.
94
95/// Returns the number of fields in the struct. Asserts if the struct is opaque
96/// or not yet initialized.
98
99/// Returns the `positions`-th field of the struct. Asserts if the struct is
100/// opaque, not yet initialized or if the position is out of range.
102 intptr_t position);
103
104/// Returns `true` if the struct is packed.
106
107/// Returns the identifier of the identified struct. Asserts that the struct is
108/// identified, i.e., not literal.
110
111/// Returns `true` is the struct is explicitly opaque (will not have a body) or
112/// uninitialized (will eventually have a body).
114
115/// Creates an LLVM literal (unnamed) struct type. This may assert if the fields
116/// have types not compatible with the LLVM dialect. For a graceful failure, use
117/// the checked version.
118MLIR_CAPI_EXPORTED MlirType
119mlirLLVMStructTypeLiteralGet(MlirContext ctx, intptr_t nFieldTypes,
120 MlirType const *fieldTypes, bool isPacked);
121
122/// Creates an LLVM literal (unnamed) struct type if possible. Emits a
123/// diagnostic at the given location and returns null otherwise.
124MLIR_CAPI_EXPORTED MlirType
125mlirLLVMStructTypeLiteralGetChecked(MlirLocation loc, intptr_t nFieldTypes,
126 MlirType const *fieldTypes, bool isPacked);
127
128/// Creates an LLVM identified struct type with no body. If a struct type with
129/// this name already exists in the context, returns that type. Use
130/// mlirLLVMStructTypeIdentifiedNewGet to create a fresh struct type,
131/// potentially renaming it. The body should be set separatelty by calling
132/// mlirLLVMStructTypeSetBody, if it isn't set already.
134 MlirStringRef name);
135
136/// Creates an LLVM identified struct type with no body and a name starting with
137/// the given prefix. If a struct with the exact name as the given prefix
138/// already exists, appends an unspecified suffix to the name so that the name
139/// is unique in context.
141 MlirContext ctx, MlirStringRef name, intptr_t nFieldTypes,
142 MlirType const *fieldTypes, bool isPacked);
143
144MLIR_CAPI_EXPORTED MlirType mlirLLVMStructTypeOpaqueGet(MlirContext ctx,
145 MlirStringRef name);
146
147/// Sets the body of the identified struct if it hasn't been set yet. Returns
148/// whether the operation was successful.
150mlirLLVMStructTypeSetBody(MlirType structType, intptr_t nFieldTypes,
151 MlirType const *fieldTypes, bool isPacked);
152
201};
202
204
205/// Creates a LLVM CConv attribute.
206MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMCConvAttrGet(MlirContext ctx,
207 MlirLLVMCConv cconv);
208
210
218
220
221/// Creates a LLVM Comdat attribute.
222MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMComdatAttrGet(MlirContext ctx,
223 MlirLLVMComdat comdat);
224
226
240
242
243/// Creates a LLVM Linkage attribute.
244MLIR_CAPI_EXPORTED MlirAttribute
245mlirLLVMLinkageAttrGet(MlirContext ctx, MlirLLVMLinkage linkage);
246
248
249/// Creates a LLVM DINullType attribute.
250MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDINullTypeAttrGet(MlirContext ctx);
251
253
254/// Creates a LLVM DIExpressionElem attribute.
255MLIR_CAPI_EXPORTED MlirAttribute
256mlirLLVMDIExpressionElemAttrGet(MlirContext ctx, unsigned int opcode,
257 intptr_t nArguments, uint64_t const *arguments);
258
260
261/// Creates a LLVM DIExpression attribute.
263 MlirContext ctx, intptr_t nOperations, MlirAttribute const *operations);
264
266
289
291
292/// Creates a LLVM DIBasicType attribute.
294 MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits,
295 MlirLLVMTypeEncoding encoding);
296
298
299/// Creates a self-referencing LLVM DICompositeType attribute.
300MLIR_CAPI_EXPORTED MlirAttribute
301mlirLLVMDICompositeTypeAttrGetRecSelf(MlirAttribute recId);
302
303/// Creates a LLVM DICompositeType attribute.
305 MlirContext ctx, MlirAttribute recId, bool isRecSelf, unsigned int tag,
306 MlirAttribute name, MlirAttribute file, uint32_t line, MlirAttribute scope,
307 MlirAttribute baseType, int64_t flags, uint64_t sizeInBits,
308 uint64_t alignInBits, intptr_t nElements, MlirAttribute const *elements,
309 MlirAttribute dataLocation, MlirAttribute rank, MlirAttribute allocated,
310 MlirAttribute associated, MlirAttribute identifier,
311 MlirAttribute discriminator);
312
314
315/// Creates a LLVM DIDerivedType attribute. Note that `dwarfAddressSpace` is an
316/// optional field, where `MLIR_CAPI_DWARF_ADDRESS_SPACE_NULL` indicates null
317/// and non-negative values indicate a value present.
319 MlirContext ctx, unsigned int tag, MlirAttribute name, MlirAttribute file,
320 uint32_t line, MlirAttribute scope, MlirAttribute baseType,
321 uint64_t sizeInBits, uint32_t alignInBits, uint64_t offsetInBits,
322 int64_t dwarfAddressSpace, int64_t flags, MlirAttribute extraData);
323
325
327 MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits,
328 uint32_t alignInBits, MlirAttribute stringLength,
329 MlirAttribute stringLengthExp, MlirAttribute stringLocationExp,
330 MlirLLVMTypeEncoding encoding);
331
333
334/// Constant to represent std::nullopt for dwarfAddressSpace to omit the field.
335#define MLIR_CAPI_DWARF_ADDRESS_SPACE_NULL -1
336
337/// Gets the base type from a LLVM DIDerivedType attribute.
338MLIR_CAPI_EXPORTED MlirAttribute
339mlirLLVMDIDerivedTypeAttrGetBaseType(MlirAttribute diDerivedType);
340
341/// Creates a LLVM DIFileAttr attribute.
342MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFileAttrGet(MlirContext ctx,
343 MlirAttribute name,
344 MlirAttribute directory);
345
347
354
356
363
365
366/// Creates a self-referencing LLVM DICompileUnitAttr attribute.
367MLIR_CAPI_EXPORTED MlirAttribute
368mlirLLVMDICompileUnitAttrGetRecSelf(MlirAttribute recId);
369
370/// Creates a LLVM DICompileUnit attribute.
372 MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id,
373 unsigned int sourceLanguage, MlirAttribute file, MlirAttribute producer,
374 bool isOptimized, MlirLLVMDIEmissionKind emissionKind,
375 bool isDebugInfoForProfiling, MlirLLVMDINameTableKind nameTableKind,
376 MlirAttribute splitDebugFilename, intptr_t nImportedEntities,
377 MlirAttribute const *importedEntities);
378
379/// Creates a LLVM DICompileUnit attribute with a source language dialect.
380MLIR_CAPI_EXPORTED MlirAttribute
382 MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id,
383 unsigned int sourceLanguage, unsigned int sourceLanguageDialect,
384 MlirAttribute file, MlirAttribute producer, bool isOptimized,
385 MlirLLVMDIEmissionKind emissionKind, bool isDebugInfoForProfiling,
386 MlirLLVMDINameTableKind nameTableKind, MlirAttribute splitDebugFilename,
387 intptr_t nImportedEntities, MlirAttribute const *importedEntities);
388
389/// Creates an LLVM DICompileUnit attribute with a DWARF v6 source language
390/// name, version, and optional source language dialect.
391MLIR_CAPI_EXPORTED MlirAttribute
393 MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id,
394 unsigned int sourceLanguageName, uint32_t sourceLanguageVersion,
395 unsigned int sourceLanguageDialect, MlirAttribute file,
396 MlirAttribute producer, bool isOptimized,
397 MlirLLVMDIEmissionKind emissionKind, bool isDebugInfoForProfiling,
398 MlirLLVMDINameTableKind nameTableKind, MlirAttribute splitDebugFilename,
399 intptr_t nImportedEntities, MlirAttribute const *importedEntities);
400
402
403/// Creates a LLVM DIFlags attribute.
404MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFlagsAttrGet(MlirContext ctx,
405 uint64_t value);
406
408
409/// Creates a LLVM DILexicalBlock attribute.
411 MlirContext ctx, MlirAttribute scope, MlirAttribute file, unsigned int line,
412 unsigned int column);
413
415
416/// Creates a LLVM DILexicalBlockFile attribute.
418 MlirContext ctx, MlirAttribute scope, MlirAttribute file,
419 unsigned int discriminator);
420
422
423/// Creates a LLVM DILocalVariableAttr attribute.
425 MlirContext ctx, MlirAttribute scope, MlirAttribute name,
426 MlirAttribute diFile, unsigned int line, unsigned int arg,
427 unsigned int alignInBits, MlirAttribute diType, int64_t flags);
428
430
431/// Creates a self-referencing LLVM DISubprogramAttr attribute.
432MLIR_CAPI_EXPORTED MlirAttribute
433mlirLLVMDISubprogramAttrGetRecSelf(MlirAttribute recId);
434
435/// Creates a LLVM DISubprogramAttr attribute.
437 MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id,
438 MlirAttribute compileUnit, MlirAttribute scope, MlirAttribute name,
439 MlirAttribute linkageName, MlirAttribute file, unsigned int line,
440 unsigned int scopeLine, uint64_t subprogramFlags, MlirAttribute type,
441 intptr_t nRetainedNodes, MlirAttribute const *retainedNodes,
442 intptr_t nAnnotations, MlirAttribute const *annotations);
443
445
446/// Creates a LLVM DIAnnotation attribute.
448 MlirContext ctx, MlirAttribute name, MlirAttribute value);
449
451
452/// Gets the scope from this DISubprogramAttr.
453MLIR_CAPI_EXPORTED MlirAttribute
454mlirLLVMDISubprogramAttrGetScope(MlirAttribute diSubprogram);
455
456/// Gets the line from this DISubprogramAttr.
457MLIR_CAPI_EXPORTED unsigned int
458mlirLLVMDISubprogramAttrGetLine(MlirAttribute diSubprogram);
459
460/// Gets the scope line from this DISubprogram.
461MLIR_CAPI_EXPORTED unsigned int
462mlirLLVMDISubprogramAttrGetScopeLine(MlirAttribute diSubprogram);
463
464/// Gets the compile unit from this DISubprogram.
465MLIR_CAPI_EXPORTED MlirAttribute
466mlirLLVMDISubprogramAttrGetCompileUnit(MlirAttribute diSubprogram);
467
468/// Gets the file from this DISubprogramAttr.
469MLIR_CAPI_EXPORTED MlirAttribute
470mlirLLVMDISubprogramAttrGetFile(MlirAttribute diSubprogram);
471
472/// Gets the type from this DISubprogramAttr.
473MLIR_CAPI_EXPORTED MlirAttribute
474mlirLLVMDISubprogramAttrGetType(MlirAttribute diSubprogram);
475
476/// Creates a LLVM DISubroutineTypeAttr attribute.
477MLIR_CAPI_EXPORTED MlirAttribute
478mlirLLVMDISubroutineTypeAttrGet(MlirContext ctx, unsigned int callingConvention,
479 intptr_t nTypes, MlirAttribute const *types);
480
482
483/// Creates a LLVM DIModuleAttr attribute.
485 MlirContext ctx, MlirAttribute file, MlirAttribute scope,
486 MlirAttribute name, MlirAttribute configMacros, MlirAttribute includePath,
487 MlirAttribute apinotes, unsigned int line, bool isDecl);
488
490
491/// Creates a LLVM DIImportedEntityAttr attribute.
493 MlirContext ctx, unsigned int tag, MlirAttribute scope,
494 MlirAttribute entity, MlirAttribute file, unsigned int line,
495 MlirAttribute name, intptr_t nElements, MlirAttribute const *elements);
496
498
499/// Gets the scope of this DIModuleAttr.
500MLIR_CAPI_EXPORTED MlirAttribute
501mlirLLVMDIModuleAttrGetScope(MlirAttribute diModule);
502
503//===----------------------------------------------------------------------===//
504// Metadata Attributes
505//===----------------------------------------------------------------------===//
506
507/// Creates an LLVM MDStringAttr.
508MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDStringAttrGet(MlirContext ctx,
509 MlirStringRef value);
510
511/// Returns `true` if the attribute is an LLVM MDStringAttr.
512MLIR_CAPI_EXPORTED bool mlirLLVMAttrIsAMDStringAttr(MlirAttribute attr);
513
514/// Returns the TypeID of MDStringAttr.
516
517/// Returns the string value of an LLVM MDStringAttr.
519mlirLLVMMDStringAttrGetValue(MlirAttribute attr);
520
521/// Creates an LLVM MDConstantAttr wrapping an attribute.
522MLIR_CAPI_EXPORTED MlirAttribute
523mlirLLVMMDConstantAttrGet(MlirContext ctx, MlirAttribute valueAttr);
524
525/// Returns `true` if the attribute is an LLVM MDConstantAttr.
527
528/// Returns the TypeID of MDConstantAttr.
530
531/// Returns the attribute value of an LLVM MDConstantAttr.
532MLIR_CAPI_EXPORTED MlirAttribute
533mlirLLVMMDConstantAttrGetValue(MlirAttribute attr);
534
535/// Creates an LLVM MDGlobalValueAttr referencing a symbol-backed global value.
536MLIR_CAPI_EXPORTED MlirAttribute
537mlirLLVMMDGlobalValueAttrGet(MlirContext ctx, MlirAttribute name);
538
539/// Returns `true` if the attribute is an LLVM MDGlobalValueAttr.
541
542/// Returns the TypeID of MDGlobalValueAttr.
544
545/// Returns the symbol name of an LLVM MDGlobalValueAttr.
546MLIR_CAPI_EXPORTED MlirAttribute
547mlirLLVMMDGlobalValueAttrGetName(MlirAttribute attr);
548
549/// Creates an LLVM MDNodeAttr.
551 MlirContext ctx, intptr_t nOperands, MlirAttribute const *operands);
552
553/// Returns `true` if the attribute is an LLVM MDNodeAttr.
554MLIR_CAPI_EXPORTED bool mlirLLVMAttrIsAMDNodeAttr(MlirAttribute attr);
555
556/// Returns the TypeID of MDNodeAttr.
558
559/// Returns the number of operands in an LLVM MDNodeAttr.
561mlirLLVMMDNodeAttrGetNumOperands(MlirAttribute attr);
562
563/// Returns the operand at the given index of an LLVM MDNodeAttr.
564MLIR_CAPI_EXPORTED MlirAttribute
565mlirLLVMMDNodeAttrGetOperand(MlirAttribute attr, intptr_t index);
566
567#ifdef __cplusplus
568}
569#endif
570
571#include "mlir/Dialect/LLVMIR/Transforms/Passes.capi.h.inc"
572
573#endif // MLIR_C_DIALECT_LLVM_H
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDISubprogramAttrGetName(void)
Definition LLVM.cpp:518
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGetRecSelf(MlirAttribute recId)
Creates a self-referencing LLVM DICompileUnitAttr attribute.
Definition LLVM.cpp:348
MLIR_CAPI_EXPORTED unsigned int mlirLLVMDISubprogramAttrGetScopeLine(MlirAttribute diSubprogram)
Gets the scope line from this DISubprogram.
Definition LLVM.cpp:530
MLIR_CAPI_EXPORTED MlirType mlirLLVMStructTypeIdentifiedNewGet(MlirContext ctx, MlirStringRef name, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked)
Creates an LLVM identified struct type with no body and a name starting with the given prefix.
Definition LLVM.cpp:177
MlirLLVMDINameTableKind
Definition LLVM.h:357
@ MlirLLVMDINameTableKindNone
Definition LLVM.h:360
@ MlirLLVMDINameTableKindApple
Definition LLVM.h:361
@ MlirLLVMDINameTableKindDefault
Definition LLVM.h:358
@ MlirLLVMDINameTableKindGNU
Definition LLVM.h:359
MLIR_CAPI_EXPORTED MlirType mlirLLVMStructTypeIdentifiedGet(MlirContext ctx, MlirStringRef name)
Creates an LLVM identified struct type with no body.
Definition LLVM.cpp:173
MLIR_CAPI_EXPORTED bool mlirLLVMAttrIsAMDGlobalValueAttr(MlirAttribute attr)
Returns true if the attribute is an LLVM MDGlobalValueAttr.
Definition LLVM.cpp:641
MLIR_CAPI_EXPORTED bool mlirTypeIsALLVMPointerType(MlirType type)
Returns true if the type is an LLVM dialect pointer type.
Definition LLVM.cpp:38
MLIR_CAPI_EXPORTED MlirLogicalResult mlirLLVMStructTypeSetBody(MlirType structType, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked)
Sets the body of the identified struct if it hasn't been set yet.
Definition LLVM.cpp:187
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIStringTypeAttrGetName(void)
Definition LLVM.cpp:311
MLIR_CAPI_EXPORTED unsigned mlirLLVMArrayTypeGetNumElements(MlirType type)
Returns the number of elements in the llvm.array type.
Definition LLVM.cpp:72
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMLinkageAttrGetName(void)
Definition LLVM.cpp:336
MLIR_CAPI_EXPORTED bool mlirTypeIsALLVMArrayType(MlirType type)
Returns true if the type is an LLVM dialect array type.
Definition LLVM.cpp:52
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMStructTypeGetName(void)
Definition LLVM.cpp:122
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDILocalVariableAttrGetName(void)
Definition LLVM.cpp:464
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGetWithSourceLanguageName(MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id, unsigned int sourceLanguageName, uint32_t sourceLanguageVersion, unsigned int sourceLanguageDialect, MlirAttribute file, MlirAttribute producer, bool isOptimized, MlirLLVMDIEmissionKind emissionKind, bool isDebugInfoForProfiling, MlirLLVMDINameTableKind nameTableKind, MlirAttribute splitDebugFilename, intptr_t nImportedEntities, MlirAttribute const *importedEntities)
Creates an LLVM DICompileUnit attribute with a DWARF v6 source language name, version,...
Definition LLVM.cpp:390
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMFunctionTypeGetName(void)
Definition LLVM.cpp:84
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMCConvAttrGet(MlirContext ctx, MlirLLVMCConv cconv)
Creates a LLVM CConv attribute.
Definition LLVM.cpp:320
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDStringAttrGet(MlirContext ctx, MlirStringRef value)
Creates an LLVM MDStringAttr.
Definition LLVM.cpp:601
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIAnnotationAttrGetName(void)
Definition LLVM.cpp:593
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIFileAttrGetName(void)
Definition LLVM.cpp:346
MLIR_CAPI_EXPORTED MlirType mlirLLVMFunctionTypeGetInput(MlirType type, intptr_t pos)
Returns the pos-th input type.
Definition LLVM.cpp:100
MLIR_CAPI_EXPORTED MlirType mlirLLVMPointerTypeGet(MlirContext ctx, unsigned addressSpace)
Creates an llvm.ptr type.
Definition LLVM.cpp:26
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIExpressionAttrGetName(void)
Definition LLVM.cpp:220
MLIR_CAPI_EXPORTED MlirType mlirLLVMArrayTypeGetElementType(MlirType type)
Returns the element type of the llvm.array type.
Definition LLVM.cpp:68
MLIR_CAPI_EXPORTED bool mlirLLVMFunctionTypeIsVarArg(MlirType type)
Returns true if the function type is variadic.
Definition LLVM.cpp:110
MlirLLVMLinkage
Definition LLVM.h:227
@ MlirLLVMLinkageExternal
Definition LLVM.h:228
@ MlirLLVMLinkageLinkonce
Definition LLVM.h:230
@ MlirLLVMLinkageExternWeak
Definition LLVM.h:237
@ MlirLLVMLinkageWeakODR
Definition LLVM.h:233
@ MlirLLVMLinkageCommon
Definition LLVM.h:238
@ MlirLLVMLinkageWeak
Definition LLVM.h:232
@ MlirLLVMLinkageAppending
Definition LLVM.h:234
@ MlirLLVMLinkageAvailableExternally
Definition LLVM.h:229
@ MlirLLVMLinkageLinkonceODR
Definition LLVM.h:231
@ MlirLLVMLinkageInternal
Definition LLVM.h:235
@ MlirLLVMLinkagePrivate
Definition LLVM.h:236
MLIR_CAPI_EXPORTED bool mlirLLVMStructTypeIsLiteral(MlirType type)
Returns true if the type is a literal (unnamed) LLVM struct type.
Definition LLVM.cpp:126
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMMDStringAttrGetValue(MlirAttribute attr)
Returns the string value of an LLVM MDStringAttr.
Definition LLVM.cpp:614
MLIR_CAPI_EXPORTED MlirType mlirLLVMArrayTypeGet(MlirType elementType, unsigned numElements)
Creates an llvm.array type.
Definition LLVM.cpp:60
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMLinkageAttrGet(MlirContext ctx, MlirLLVMLinkage linkage)
Creates a LLVM Linkage attribute.
Definition LLVM.cpp:332
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMStructTypeGetIdentifier(MlirType type)
Returns the identifier of the identified struct.
Definition LLVM.cpp:142
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIDerivedTypeAttrGet(MlirContext ctx, unsigned int tag, MlirAttribute name, MlirAttribute file, uint32_t line, MlirAttribute scope, MlirAttribute baseType, uint64_t sizeInBits, uint32_t alignInBits, uint64_t offsetInBits, int64_t dwarfAddressSpace, int64_t flags, MlirAttribute extraData)
Creates a LLVM DIDerivedType attribute.
Definition LLVM.cpp:280
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDICompositeTypeAttrGetName(void)
Definition LLVM.cpp:276
MlirLLVMComdat
Definition LLVM.h:211
@ MlirLLVMComdatSameSize
Definition LLVM.h:216
@ MlirLLVMComdatExactMatch
Definition LLVM.h:213
@ MlirLLVMComdatNoDeduplicate
Definition LLVM.h:215
@ MlirLLVMComdatAny
Definition LLVM.h:212
@ MlirLLVMComdatLargest
Definition LLVM.h:214
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMArrayTypeGetTypeID(void)
Definition LLVM.cpp:56
MLIR_CAPI_EXPORTED bool mlirLLVMStructTypeIsOpaque(MlirType type)
Returns true is the struct is explicitly opaque (will not have a body) or uninitialized (will eventua...
Definition LLVM.cpp:146
MLIR_CAPI_EXPORTED bool mlirLLVMStructTypeIsPacked(MlirType type)
Returns true if the struct is packed.
Definition LLVM.cpp:138
MLIR_CAPI_EXPORTED intptr_t mlirLLVMStructTypeGetNumElementTypes(MlirType type)
Returns the number of fields in the struct.
Definition LLVM.cpp:130
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDILexicalBlockAttrGetName(void)
Definition LLVM.cpp:437
MLIR_CAPI_EXPORTED bool mlirLLVMAttrIsAMDStringAttr(MlirAttribute attr)
Returns true if the attribute is an LLVM MDStringAttr.
Definition LLVM.cpp:606
MLIR_CAPI_EXPORTED bool mlirLLVMAttrIsAMDConstantAttr(MlirAttribute attr)
Returns true if the attribute is an LLVM MDConstantAttr.
Definition LLVM.cpp:623
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIExpressionAttrGet(MlirContext ctx, intptr_t nOperations, MlirAttribute const *operations)
Creates a LLVM DIExpression attribute.
Definition LLVM.cpp:209
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDGlobalValueAttrGet(MlirContext ctx, MlirAttribute name)
Creates an LLVM MDGlobalValueAttr referencing a symbol-backed global value.
Definition LLVM.cpp:635
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGetScope(MlirAttribute diSubprogram)
Gets the scope from this DISubprogramAttr.
Definition LLVM.cpp:522
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMPointerTypeGetTypeID(void)
Definition LLVM.cpp:34
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMStructTypeGetTypeID(void)
Definition LLVM.cpp:118
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGetWithSourceLanguageDialect(MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id, unsigned int sourceLanguage, unsigned int sourceLanguageDialect, MlirAttribute file, MlirAttribute producer, bool isOptimized, MlirLLVMDIEmissionKind emissionKind, bool isDebugInfoForProfiling, MlirLLVMDINameTableKind nameTableKind, MlirAttribute splitDebugFilename, intptr_t nImportedEntities, MlirAttribute const *importedEntities)
Creates a LLVM DICompileUnit attribute with a source language dialect.
Definition LLVM.cpp:366
MLIR_CAPI_EXPORTED MlirType mlirLLVMVoidTypeGet(MlirContext ctx)
Creates an llmv.void type.
Definition LLVM.cpp:46
MLIR_CAPI_EXPORTED intptr_t mlirLLVMFunctionTypeGetNumInputs(MlirType type)
Returns the number of input types.
Definition LLVM.cpp:96
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubroutineTypeAttrGet(MlirContext ctx, unsigned int callingConvention, intptr_t nTypes, MlirAttribute const *types)
Creates a LLVM DISubroutineTypeAttr attribute.
Definition LLVM.cpp:468
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGetFile(MlirAttribute diSubprogram)
Gets the file from this DISubprogramAttr.
Definition LLVM.cpp:539
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIModuleAttrGetName(void)
Definition LLVM.cpp:561
MLIR_CAPI_EXPORTED MlirType mlirLLVMStructTypeGetElementType(MlirType type, intptr_t position)
Returns the positions-th field of the struct.
Definition LLVM.cpp:134
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDILocalVariableAttrGet(MlirContext ctx, MlirAttribute scope, MlirAttribute name, MlirAttribute diFile, unsigned int line, unsigned int arg, unsigned int alignInBits, MlirAttribute diType, int64_t flags)
Creates a LLVM DILocalVariableAttr attribute.
Definition LLVM.cpp:454
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDICompileUnitAttrGetName(void)
Definition LLVM.cpp:415
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMArrayTypeGetName(void)
Definition LLVM.cpp:64
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGet(MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id, MlirAttribute compileUnit, MlirAttribute scope, MlirAttribute name, MlirAttribute linkageName, MlirAttribute file, unsigned int line, unsigned int scopeLine, uint64_t subprogramFlags, MlirAttribute type, intptr_t nRetainedNodes, MlirAttribute const *retainedNodes, intptr_t nAnnotations, MlirAttribute const *annotations)
Creates a LLVM DISubprogramAttr attribute.
Definition LLVM.cpp:489
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIFlagsAttrGetName(void)
Definition LLVM.cpp:423
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDILexicalBlockFileAttrGet(MlirContext ctx, MlirAttribute scope, MlirAttribute file, unsigned int discriminator)
Creates a LLVM DILexicalBlockFile attribute.
Definition LLVM.cpp:441
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIBasicTypeAttrGet(MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits, MlirLLVMTypeEncoding encoding)
Creates a LLVM DIBasicType attribute.
Definition LLVM.cpp:232
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFileAttrGet(MlirContext ctx, MlirAttribute name, MlirAttribute directory)
Creates a LLVM DIFileAttr attribute.
Definition LLVM.cpp:340
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIDerivedTypeAttrGetName(void)
Definition LLVM.cpp:295
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGet(MlirContext ctx, MlirAttribute recId, bool isRecSelf, MlirAttribute id, unsigned int sourceLanguage, MlirAttribute file, MlirAttribute producer, bool isOptimized, MlirLLVMDIEmissionKind emissionKind, bool isDebugInfoForProfiling, MlirLLVMDINameTableKind nameTableKind, MlirAttribute splitDebugFilename, intptr_t nImportedEntities, MlirAttribute const *importedEntities)
Creates a LLVM DICompileUnit attribute.
Definition LLVM.cpp:352
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMComdatAttrGet(MlirContext ctx, MlirLLVMComdat comdat)
Creates a LLVM Comdat attribute.
Definition LLVM.cpp:326
MLIR_CAPI_EXPORTED intptr_t mlirLLVMMDNodeAttrGetNumOperands(MlirAttribute attr)
Returns the number of operands in an LLVM MDNodeAttr.
Definition LLVM.cpp:669
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMPointerTypeGetName(void)
Definition LLVM.cpp:30
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIModuleAttrGetScope(MlirAttribute diModule)
Gets the scope of this DIModuleAttr.
Definition LLVM.cpp:565
MLIR_CAPI_EXPORTED MlirType mlirLLVMStructTypeOpaqueGet(MlirContext ctx, MlirStringRef name)
Definition LLVM.cpp:169
MLIR_CAPI_EXPORTED MlirType mlirLLVMFunctionTypeGet(MlirType resultType, intptr_t nArgumentTypes, MlirType const *argumentTypes, bool isVarArg)
Creates an llvm.func type.
Definition LLVM.cpp:76
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompositeTypeAttrGetRecSelf(MlirAttribute recId)
Creates a self-referencing LLVM DICompositeType attribute.
Definition LLVM.cpp:245
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFlagsAttrGet(MlirContext ctx, uint64_t value)
Creates a LLVM DIFlags attribute.
Definition LLVM.cpp:419
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDISubroutineTypeAttrGetName(void)
Definition LLVM.cpp:481
MlirLLVMCConv
Definition LLVM.h:153
@ MlirLLVMCConvPTX_Device
Definition LLVM.h:175
@ MlirLLVMCConvWASM_EmscriptenInvoke
Definition LLVM.h:198
@ MlirLLVMCConvX86_VectorCall
Definition LLVM.h:181
@ MlirLLVMCConvARM_AAPCS_VFP
Definition LLVM.h:171
@ MlirLLVMCConvMSP430_BUILTIN
Definition LLVM.h:193
@ MlirLLVMCConvX86_FastCall
Definition LLVM.h:168
@ MlirLLVMCConvHiPE
Definition LLVM.h:158
@ MlirLLVMCConvAMDGPU_HS
Definition LLVM.h:192
@ MlirLLVMCConvPreserveMost
Definition LLVM.h:160
@ MlirLLVMCConvX86_ThisCall
Definition LLVM.h:173
@ MlirLLVMCConvPTX_Kernel
Definition LLVM.h:174
@ MlirLLVMCConvAMDGPU_KERNEL
Definition LLVM.h:190
@ MlirLLVMCConvCFGuard_Check
Definition LLVM.h:165
@ MlirLLVMCConvAMDGPU_ES
Definition LLVM.h:195
@ MlirLLVMCConvSPIR_FUNC
Definition LLVM.h:176
@ MlirLLVMCConvAMDGPU_LS
Definition LLVM.h:194
@ MlirLLVMCConvDUMMY_HHVM_C
Definition LLVM.h:183
@ MlirLLVMCConvCold
Definition LLVM.h:156
@ MlirLLVMCConvWin64
Definition LLVM.h:180
@ MlirLLVMCConvX86_INTR
Definition LLVM.h:184
@ MlirLLVMCConvAnyReg
Definition LLVM.h:159
@ MlirLLVMCConvDUMMY_HHVM
Definition LLVM.h:182
@ MlirLLVMCConvTail
Definition LLVM.h:164
@ MlirLLVMCConvCXX_FAST_TLS
Definition LLVM.h:163
@ MlirLLVMCConvAVR_INTR
Definition LLVM.h:185
@ MlirLLVMCConvSwift
Definition LLVM.h:162
@ MlirLLVMCConvPreserveAll
Definition LLVM.h:161
@ MlirLLVMCConvFast
Definition LLVM.h:155
@ MlirLLVMCConvC
Definition LLVM.h:154
@ MlirLLVMCConvAMDGPU_Gfx
Definition LLVM.h:199
@ MlirLLVMCConvX86_RegCall
Definition LLVM.h:191
@ MlirLLVMCConvAMDGPU_VS
Definition LLVM.h:187
@ MlirLLVMCConvAArch64_VectorCall
Definition LLVM.h:196
@ MlirLLVMCConvAMDGPU_CS
Definition LLVM.h:189
@ MlirLLVMCConvGHC
Definition LLVM.h:157
@ MlirLLVMCConvAArch64_SVE_VectorCall
Definition LLVM.h:197
@ MlirLLVMCConvX86_StdCall
Definition LLVM.h:167
@ MlirLLVMCConvAMDGPU_GS
Definition LLVM.h:188
@ MlirLLVMCConvMSP430_INTR
Definition LLVM.h:172
@ MlirLLVMCConvM68k_INTR
Definition LLVM.h:200
@ MlirLLVMCConvARM_AAPCS
Definition LLVM.h:170
@ MlirLLVMCConvAVR_BUILTIN
Definition LLVM.h:186
@ MlirLLVMCConvX86_64_SysV
Definition LLVM.h:179
@ MlirLLVMCConvSPIR_KERNEL
Definition LLVM.h:177
@ MlirLLVMCConvSwiftTail
Definition LLVM.h:166
@ MlirLLVMCConvIntel_OCL_BI
Definition LLVM.h:178
@ MlirLLVMCConvARM_APCS
Definition LLVM.h:169
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDConstantAttrGet(MlirContext ctx, MlirAttribute valueAttr)
Creates an LLVM MDConstantAttr wrapping an attribute.
Definition LLVM.cpp:618
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGetRecSelf(MlirAttribute recId)
Creates a self-referencing LLVM DISubprogramAttr attribute.
Definition LLVM.cpp:485
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMComdatAttrGetName(void)
Definition LLVM.cpp:330
MLIR_CAPI_EXPORTED MlirType mlirLLVMStructTypeLiteralGet(MlirContext ctx, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked)
Creates an LLVM literal (unnamed) struct type.
Definition LLVM.cpp:150
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIImportedEntityAttrGetName(void)
Definition LLVM.cpp:583
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDINullTypeAttrGetName(void)
Definition LLVM.cpp:228
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMCConvAttrGetName(void)
Definition LLVM.cpp:324
MlirLLVMDIEmissionKind
Definition LLVM.h:348
@ MlirLLVMDIEmissionKindLineTablesOnly
Definition LLVM.h:351
@ MlirLLVMDIEmissionKindFull
Definition LLVM.h:350
@ MlirLLVMDIEmissionKindNone
Definition LLVM.h:349
@ MlirLLVMDIEmissionKindDebugDirectivesOnly
Definition LLVM.h:352
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDGlobalValueAttrGetName(MlirAttribute attr)
Returns the symbol name of an LLVM MDGlobalValueAttr.
Definition LLVM.cpp:649
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMMDConstantAttrGetTypeID(void)
Returns the TypeID of MDConstantAttr.
Definition LLVM.cpp:627
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIDerivedTypeAttrGetBaseType(MlirAttribute diDerivedType)
Gets the base type from a LLVM DIDerivedType attribute.
Definition LLVM.cpp:316
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMMDNodeAttrGetTypeID(void)
Returns the TypeID of MDNodeAttr.
Definition LLVM.cpp:665
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDConstantAttrGetValue(MlirAttribute attr)
Returns the attribute value of an LLVM MDConstantAttr.
Definition LLVM.cpp:631
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIAnnotationAttrGet(MlirContext ctx, MlirAttribute name, MlirAttribute value)
Creates a LLVM DIAnnotation attribute.
Definition LLVM.cpp:587
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIExpressionElemAttrGetName(void)
Definition LLVM.cpp:205
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIImportedEntityAttrGet(MlirContext ctx, unsigned int tag, MlirAttribute scope, MlirAttribute entity, MlirAttribute file, unsigned int line, MlirAttribute name, intptr_t nElements, MlirAttribute const *elements)
Creates a LLVM DIImportedEntityAttr attribute.
Definition LLVM.cpp:569
MLIR_CAPI_EXPORTED bool mlirTypeIsALLVMFunctionType(MlirType type)
Returns true if the type is an LLVM dialect function type.
Definition LLVM.cpp:88
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDNodeAttrGetOperand(MlirAttribute attr, intptr_t index)
Returns the operand at the given index of an LLVM MDNodeAttr.
Definition LLVM.cpp:673
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDILexicalBlockAttrGet(MlirContext ctx, MlirAttribute scope, MlirAttribute file, unsigned int line, unsigned int column)
Creates a LLVM DILexicalBlock attribute.
Definition LLVM.cpp:427
MLIR_CAPI_EXPORTED bool mlirLLVMAttrIsAMDNodeAttr(MlirAttribute attr)
Returns true if the attribute is an LLVM MDNodeAttr.
Definition LLVM.cpp:661
MLIR_CAPI_EXPORTED bool mlirTypeIsALLVMStructType(MlirType type)
Returns true if the type is an LLVM dialect struct type.
Definition LLVM.cpp:114
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMMDNodeAttrGet(MlirContext ctx, intptr_t nOperands, MlirAttribute const *operands)
Creates an LLVM MDNodeAttr.
Definition LLVM.cpp:653
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIExpressionElemAttrGet(MlirContext ctx, unsigned int opcode, intptr_t nArguments, uint64_t const *arguments)
Creates a LLVM DIExpressionElem attribute.
Definition LLVM.cpp:197
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGetCompileUnit(MlirAttribute diSubprogram)
Gets the compile unit from this DISubprogram.
Definition LLVM.cpp:535
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompositeTypeAttrGet(MlirContext ctx, MlirAttribute recId, bool isRecSelf, unsigned int tag, MlirAttribute name, MlirAttribute file, uint32_t line, MlirAttribute scope, MlirAttribute baseType, int64_t flags, uint64_t sizeInBits, uint64_t alignInBits, intptr_t nElements, MlirAttribute const *elements, MlirAttribute dataLocation, MlirAttribute rank, MlirAttribute allocated, MlirAttribute associated, MlirAttribute identifier, MlirAttribute discriminator)
Creates a LLVM DICompositeType attribute.
Definition LLVM.cpp:250
MLIR_CAPI_EXPORTED MlirType mlirLLVMStructTypeLiteralGetChecked(MlirLocation loc, intptr_t nFieldTypes, MlirType const *fieldTypes, bool isPacked)
Creates an LLVM literal (unnamed) struct type if possible.
Definition LLVM.cpp:159
MlirLLVMTypeEncoding
Definition LLVM.h:267
@ MlirLLVMTypeEncodingComplexFloat
Definition LLVM.h:270
@ MlirLLVMTypeEncodingDecimalFloat
Definition LLVM.h:282
@ MlirLLVMTypeEncodingLoUser
Definition LLVM.h:286
@ MlirLLVMTypeEncodingUnsigned
Definition LLVM.h:274
@ MlirLLVMTypeEncodingSignedFixed
Definition LLVM.h:280
@ MlirLLVMTypeEncodingASCII
Definition LLVM.h:285
@ MlirLLVMTypeEncodingUTF
Definition LLVM.h:283
@ MlirLLVMTypeEncodingBoolean
Definition LLVM.h:269
@ MlirLLVMTypeEncodingPackedDecimal
Definition LLVM.h:277
@ MlirLLVMTypeEncodingHiUser
Definition LLVM.h:287
@ MlirLLVMTypeEncodingAddress
Definition LLVM.h:268
@ MlirLLVMTypeEncodingImaginaryFloat
Definition LLVM.h:276
@ MlirLLVMTypeEncodingUnsignedChar
Definition LLVM.h:275
@ MlirLLVMTypeEncodingUCS
Definition LLVM.h:284
@ MlirLLVMTypeEncodingNumericString
Definition LLVM.h:278
@ MlirLLVMTypeEncodingSignedChar
Definition LLVM.h:273
@ MlirLLVMTypeEncodingEdited
Definition LLVM.h:279
@ MlirLLVMTypeEncodingUnsignedFixed
Definition LLVM.h:281
@ MlirLLVMTypeEncodingSigned
Definition LLVM.h:272
@ MlirLLVMTypeEncodingFloatT
Definition LLVM.h:271
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDINullTypeAttrGet(MlirContext ctx)
Creates a LLVM DINullType attribute.
Definition LLVM.cpp:224
MLIR_CAPI_EXPORTED unsigned int mlirLLVMDISubprogramAttrGetLine(MlirAttribute diSubprogram)
Gets the line from this DISubprogramAttr.
Definition LLVM.cpp:526
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMMDGlobalValueAttrGetTypeID(void)
Returns the TypeID of MDGlobalValueAttr.
Definition LLVM.cpp:645
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDIBasicTypeAttrGetName(void)
Definition LLVM.cpp:241
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMFunctionTypeGetTypeID(void)
Returns the TypeID of an LLVM function type.
Definition LLVM.cpp:92
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDISubprogramAttrGetType(MlirAttribute diSubprogram)
Gets the type from this DISubprogramAttr.
Definition LLVM.cpp:543
MLIR_CAPI_EXPORTED MlirType mlirLLVMFunctionTypeGetReturnType(MlirType type)
Returns the return type of the function type.
Definition LLVM.cpp:106
MLIR_CAPI_EXPORTED unsigned mlirLLVMPointerTypeGetAddressSpace(MlirType pointerType)
Returns address space of llvm.ptr.
Definition LLVM.cpp:42
MLIR_CAPI_EXPORTED MlirTypeID mlirLLVMMDStringAttrGetTypeID(void)
Returns the TypeID of MDStringAttr.
Definition LLVM.cpp:610
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMDILexicalBlockFileAttrGetName(void)
Definition LLVM.cpp:450
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIStringTypeAttrGet(MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits, uint32_t alignInBits, MlirAttribute stringLength, MlirAttribute stringLengthExp, MlirAttribute stringLocationExp, MlirLLVMTypeEncoding encoding)
Definition LLVM.cpp:299
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIModuleAttrGet(MlirContext ctx, MlirAttribute file, MlirAttribute scope, MlirAttribute name, MlirAttribute configMacros, MlirAttribute includePath, MlirAttribute apinotes, unsigned int line, bool isDecl)
Creates a LLVM DIModuleAttr attribute.
Definition LLVM.cpp:547
MLIR_CAPI_EXPORTED MlirStringRef mlirLLVMVoidTypeGetName(void)
Definition LLVM.cpp:50
#define MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Name, Namespace)
Definition IR.h:237
#define MLIR_CAPI_EXPORTED
Definition Support.h:46
The OpAsmOpInterface, see OpAsmInterface.td for more details.
Definition CallGraph.h:227
A logical result value, essentially a boolean with named states.
Definition Support.h:121
A pointer to a sized fragment of a string, not necessarily null-terminated.
Definition Support.h:78