Skip to content

Commit 5fd1b22

Browse files
committed
reset
1 parent b85ff3a commit 5fd1b22

File tree

3 files changed

+42
-71
lines changed

3 files changed

+42
-71
lines changed

mlir/include/mlir-c/Dialect/LLVM.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212

1313
#include "mlir-c/IR.h"
1414
#include "mlir-c/Support.h"
15+
#include "llvm-c/Comdat.h"
16+
#include "llvm-c/Core.h"
17+
#include "llvm-c/DebugInfo.h"
1518

1619
#ifdef __cplusplus
1720
extern "C" {
@@ -101,15 +104,15 @@ mlirLLVMStructTypeSetBody(MlirType structType, intptr_t nFieldTypes,
101104

102105
/// Creates a LLVM CConv attribute.
103106
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMCConvAttrGet(MlirContext ctx,
104-
uint64_t cconv);
107+
LLVMCallConv cconv);
105108

106109
/// Creates a LLVM Comdat attribute.
107-
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMComdatAttrGet(MlirContext ctx,
108-
uint64_t comdat);
110+
MLIR_CAPI_EXPORTED MlirAttribute
111+
mlirLLVMComdatAttrGet(MlirContext ctx, LLVMComdatSelectionKind comdat);
109112

110113
/// Creates a LLVM Linkage attribute.
111-
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMLinkageAttrGet(MlirContext ctx,
112-
uint64_t linkage);
114+
MLIR_CAPI_EXPORTED MlirAttribute
115+
mlirLLVMLinkageAttrGet(MlirContext ctx, LLVMLinkage linkage);
113116

114117
/// Creates a LLVM DINullType attribute.
115118
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDINullTypeAttrGet(MlirContext ctx);
@@ -126,7 +129,7 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIExpressionAttrGet(
126129
/// Creates a LLVM DIBasicType attribute.
127130
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIBasicTypeAttrGet(
128131
MlirContext ctx, unsigned int tag, MlirAttribute name, uint64_t sizeInBits,
129-
unsigned int encoding);
132+
LLVMDWARFTypeEncoding encoding);
130133

131134
/// Creates a LLVM DICompositeType attribute.
132135
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompositeTypeAttrGet(
@@ -154,7 +157,7 @@ MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFileAttrGet(MlirContext ctx,
154157
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDICompileUnitAttrGet(
155158
MlirContext ctx, MlirAttribute id, unsigned int sourceLanguage,
156159
MlirAttribute file, MlirAttribute producer, bool isOptimized,
157-
uint64_t emissionKind);
160+
LLVMDWARFEmissionKind emissionKind);
158161

159162
/// Creates a LLVM DIFlags attribute.
160163
MLIR_CAPI_EXPORTED MlirAttribute mlirLLVMDIFlagsAttrGet(MlirContext ctx,

mlir/lib/CAPI/Dialect/LLVM.cpp

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "mlir/Dialect/LLVMIR/LLVMAttrs.h"
1515
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
1616
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
17+
#include "llvm-c/Core.h"
1718
#include "llvm/ADT/SmallVector.h"
1819
#include "llvm/ADT/SmallVectorExtras.h"
1920

@@ -144,7 +145,8 @@ MlirAttribute mlirLLVMDINullTypeAttrGet(MlirContext ctx) {
144145
MlirAttribute mlirLLVMDIBasicTypeAttrGet(MlirContext ctx, unsigned int tag,
145146
MlirAttribute name,
146147
uint64_t sizeInBits,
147-
unsigned int encoding) {
148+
LLVMDWARFTypeEncoding encoding) {
149+
148150
return wrap(DIBasicTypeAttr::get(
149151
unwrap(ctx), tag, cast<StringAttr>(unwrap(name)), sizeInBits, encoding));
150152
}
@@ -183,15 +185,16 @@ mlirLLVMDIDerivedTypeAttrGetBaseType(MlirAttribute diDerivedType) {
183185
return wrap(cast<DIDerivedTypeAttr>(unwrap(diDerivedType)).getBaseType());
184186
}
185187

186-
MlirAttribute mlirLLVMCConvAttrGet(MlirContext ctx, uint64_t cconv) {
188+
MlirAttribute mlirLLVMCConvAttrGet(MlirContext ctx, LLVMCallConv cconv) {
187189
return wrap(CConvAttr::get(unwrap(ctx), CConv(cconv)));
188190
}
189191

190-
MlirAttribute mlirLLVMComdatAttrGet(MlirContext ctx, uint64_t comdat) {
192+
MlirAttribute mlirLLVMComdatAttrGet(MlirContext ctx,
193+
LLVMComdatSelectionKind comdat) {
191194
return wrap(ComdatAttr::get(unwrap(ctx), comdat::Comdat(comdat)));
192195
}
193196

194-
MlirAttribute mlirLLVMLinkageAttrGet(MlirContext ctx, uint64_t linkage) {
197+
MlirAttribute mlirLLVMLinkageAttrGet(MlirContext ctx, LLVMLinkage linkage) {
195198
return wrap(LinkageAttr::get(unwrap(ctx), linkage::Linkage(linkage)));
196199
}
197200

@@ -206,7 +209,7 @@ MlirAttribute mlirLLVMDICompileUnitAttrGet(MlirContext ctx, MlirAttribute id,
206209
MlirAttribute file,
207210
MlirAttribute producer,
208211
bool isOptimized,
209-
uint64_t emissionKind) {
212+
LLVMDWARFEmissionKind emissionKind) {
210213
return wrap(DICompileUnitAttr::get(
211214
unwrap(ctx), cast<DistinctAttr>(unwrap(id)), sourceLanguage,
212215
cast<DIFileAttr>(unwrap(file)), cast<StringAttr>(unwrap(producer)),

mlir/test/CAPI/llvm.c

Lines changed: 24 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
#include "mlir-c/BuiltinTypes.h"
1515
#include "mlir-c/IR.h"
1616
#include "mlir-c/Support.h"
17+
#include "llvm-c/Core.h"
18+
#include "llvm-c/DebugInfo.h"
1719

1820
#include <assert.h>
1921
#include <inttypes.h>
@@ -231,11 +233,11 @@ static void testLLVMAttributes(MlirContext ctx) {
231233
fprintf(stderr, "testLLVMAttributes\n");
232234

233235
// CHECK: #llvm.linkage<internal>
234-
mlirAttributeDump(mlirLLVMLinkageAttrGet(ctx, 0x1));
236+
mlirAttributeDump(mlirLLVMLinkageAttrGet(ctx, LLVMInternalLinkage));
235237
// CHECK: #llvm.cconv<ccc>
236-
mlirAttributeDump(mlirLLVMCConvAttrGet(ctx, 0x0));
238+
mlirAttributeDump(mlirLLVMCConvAttrGet(ctx, LLVMCCallConv));
237239
// CHECK: #llvm<comdat any>
238-
mlirAttributeDump(mlirLLVMComdatAttrGet(ctx, 0x0));
240+
mlirAttributeDump(mlirLLVMComdatAttrGet(ctx, LLVMAnyComdatSelectionKind));
239241
}
240242

241243
// CHECK-LABEL: testDebugInfoAttributes
@@ -250,9 +252,11 @@ static void testDebugInfoAttributes(MlirContext ctx) {
250252

251253
// CHECK: #llvm.di_null_type
252254
mlirAttributeDump(mlirLLVMDINullTypeAttrGet(ctx));
255+
253256
// CHECK: #llvm.di_basic_type<tag = DW_TAG_null, name = "foo", sizeInBits =
254-
// 64, encoding = DW_ATE_signed>
255-
MlirAttribute di_type = mlirLLVMDIBasicTypeAttrGet(ctx, 0, foo, 64, 0x5);
257+
// CHECK-SAME: 64, encoding = DW_ATE_signed>
258+
MlirAttribute di_type =
259+
mlirLLVMDIBasicTypeAttrGet(ctx, 0, foo, 64, LLVMDWARFSignedTypeEncoding);
256260
mlirAttributeDump(di_type);
257261

258262
MlirAttribute file = mlirLLVMDIFileAttrGet(ctx, foo, bar);
@@ -261,102 +265,63 @@ static void testDebugInfoAttributes(MlirContext ctx) {
261265
mlirAttributeDump(file);
262266

263267
MlirAttribute compile_unit =
264-
mlirLLVMDICompileUnitAttrGet(ctx, id, 0x1C, file, foo, false, 0x1);
268+
mlirLLVMDICompileUnitAttrGet(ctx, id, LLVMDWARFSourceLanguageC99, file,
269+
foo, false, LLVMDWARFEmissionFull);
265270

266-
// CHECK: #llvm.di_compile_unit<id = distinct[0]<"foo">, sourceLanguage =
267-
// DW_LANG_Rust, file = <"foo" in "bar">, producer = "foo", isOptimized =
268-
// false, emissionKind = Full>
271+
// CHECK: #llvm.di_compile_unit<{{.*}}>
269272
mlirAttributeDump(compile_unit);
270273

271274
MlirAttribute di_module = mlirLLVMDIModuleAttrGet(
272275
ctx, file, compile_unit, foo,
273276
mlirStringAttrGet(ctx, mlirStringRefCreateFromCString("")), bar, foo, 1,
274277
0);
275-
// CHECK: #llvm.di_module<file = <"foo" in "bar">, scope =
276-
// #llvm.di_compile_unit<id = distinct[0]<"foo">, sourceLanguage =
277-
// DW_LANG_Rust, file = <"foo" in "bar">, producer = "foo", isOptimized =
278-
// false, emissionKind = Full>, name = "foo", configMacros = "", includePath =
279-
// "bar", apinotes = "foo", line = 1>
278+
// CHECK: #llvm.di_module<{{.*}}>
280279
mlirAttributeDump(di_module);
281280

282-
// CHECK: #llvm.di_compile_unit<id = distinct[0]<"foo">, sourceLanguage =
283-
// DW_LANG_Rust, file = <"foo" in "bar">, producer = "foo", isOptimized =
284-
// false, emissionKind = Full>
281+
// CHECK: #llvm.di_compile_unit<{{.*}}>
285282
mlirAttributeDump(mlirLLVMDIModuleAttrGetScope(di_module));
286283

287284
// CHECK: 1 : i32
288285
mlirAttributeDump(mlirLLVMDIFlagsAttrGet(ctx, 0x1));
289286

290-
// CHECK: #llvm.di_lexical_block<scope = #llvm.di_compile_unit<id =
291-
// distinct[0]<"foo">, sourceLanguage = DW_LANG_Rust, file = <"foo" in "bar">,
292-
// producer = "foo", isOptimized = false, emissionKind = Full>, file = <"foo"
293-
// in "bar">, line = 1, column = 2>
287+
// CHECK: #llvm.di_lexical_block<{{.*}}>
294288
mlirAttributeDump(
295289
mlirLLVMDILexicalBlockAttrGet(ctx, compile_unit, file, 1, 2));
296290

297-
// CHECK: #llvm.di_lexical_block_file<scope = #llvm.di_compile_unit<id =
298-
// distinct[0]<"foo">, sourceLanguage = DW_LANG_Rust, file = <"foo" in "bar">,
299-
// producer = "foo", isOptimized = false, emissionKind = Full>, file = <"foo"
300-
// in "bar">, discriminator = 3>
291+
// CHECK: #llvm.di_lexical_block_file<{{.*}}>
301292
mlirAttributeDump(
302293
mlirLLVMDILexicalBlockFileAttrGet(ctx, compile_unit, file, 3));
303294

304-
// CHECK: #llvm.di_local_variable<scope = #llvm.di_compile_unit<id =
305-
// distinct[0]<"foo">, sourceLanguage = DW_LANG_Rust, file = <"foo" in "bar">,
306-
// producer = "foo", isOptimized = false, emissionKind = Full>, name = "foo",
307-
// file = <"foo" in "bar">, line = 1, alignInBits = 8, type =
308-
// #llvm.di_basic_type<tag = DW_TAG_null, name = "foo", sizeInBits = 64,
309-
// encoding = DW_ATE_signed>>
295+
// CHECK: #llvm.di_local_variable<{{.*}}>
310296
mlirAttributeDump(mlirLLVMDILocalVariableAttrGet(ctx, compile_unit, foo, file,
311297
1, 0, 8, di_type));
312-
// CHECK: #llvm.di_derived_type<tag = DW_TAG_null, name = "bar", baseType =
313-
// #llvm.di_basic_type<tag = DW_TAG_null, name = "foo", sizeInBits = 64,
314-
// encoding = DW_ATE_signed>, sizeInBits = 64, alignInBits = 8>
298+
// CHECK: #llvm.di_derived_type<{{.*}}>
315299
mlirAttributeDump(
316300
mlirLLVMDIDerivedTypeAttrGet(ctx, 0, bar, di_type, 64, 8, 0));
317301

318-
// CHECK: #llvm.di_composite_type<tag = DW_TAG_null, name = "foo", file =
319-
// <"foo" in "bar">, line = 1, scope = #llvm.di_compile_unit<id =
320-
// distinct[0]<"foo">, sourceLanguage = DW_LANG_Rust, file = <"foo" in "bar">,
321-
// producer = "foo", isOptimized = false, emissionKind = Full>, baseType =
322-
// #llvm.di_basic_type<tag = DW_TAG_null, name = "foo", sizeInBits = 64,
323-
// encoding = DW_ATE_signed>, sizeInBits = 64, alignInBits = 8, elements =
324-
// #llvm.di_basic_type<tag = DW_TAG_null, name = "foo", sizeInBits = 64,
325-
// encoding = DW_ATE_signed>>
302+
// CHECK: #llvm.di_composite_type<{{.*}}>
326303
mlirAttributeDump(mlirLLVMDICompositeTypeAttrGet(
327304
ctx, 0, foo, file, 1, compile_unit, di_type, 0, 64, 8, 1, &di_type));
328305

329306
MlirAttribute subroutine_type =
330307
mlirLLVMDISubroutineTypeAttrGet(ctx, 0x0, 1, &di_type);
331308

332-
// CHECK: #llvm.di_subroutine_type<types = #llvm.di_basic_type<tag =
333-
// DW_TAG_null, name = "foo", sizeInBits = 64, encoding = DW_ATE_signed>>
309+
// CHECK: #llvm.di_subroutine_type<{{.*}}>
334310
mlirAttributeDump(subroutine_type);
335311

336312
MlirAttribute di_subprogram =
337313
mlirLLVMDISubprogramAttrGet(ctx, id, compile_unit, compile_unit, foo, bar,
338314
file, 1, 2, 0, subroutine_type);
339-
// CHECK: #llvm.di_subprogram<id = distinct[0]<"foo">, compileUnit = <id =
340-
// distinct[0]<"foo">, sourceLanguage = DW_LANG_Rust, file = <"foo" in "bar">,
341-
// producer = "foo", isOptimized = false, emissionKind = Full>, scope =
342-
// #llvm.di_compile_unit<id = distinct[0]<"foo">, sourceLanguage =
343-
// DW_LANG_Rust, file = <"foo" in "bar">, producer = "foo", isOptimized =
344-
// false, emissionKind = Full>, name = "foo", linkageName = "bar", file =
345-
// <"foo" in "bar">, line = 1, scopeLine = 2, subprogramFlags = , type =
346-
// <types = #llvm.di_basic_type<tag = DW_TAG_null, name = "foo", sizeInBits =
347-
// 64, encoding = DW_ATE_signed>>>
315+
// CHECK: #llvm.di_subprogram<{{.*}}>
348316
mlirAttributeDump(di_subprogram);
349317

350-
// CHECK: #llvm.di_compile_unit<id = distinct[0]<"foo">, sourceLanguage =
351-
// DW_LANG_Rust, file = <"foo" in "bar">, producer = "foo", isOptimized =
352-
// false, emissionKind = Full>
318+
// CHECK: #llvm.di_compile_unit<{{.*}}>
353319
mlirAttributeDump(mlirLLVMDISubprogramAttrGetScope(di_subprogram));
354320

355-
// CHECK: #llvm.di_file<"foo" in "bar">
321+
// CHECK: #llvm.di_file<{{.*}}>
356322
mlirAttributeDump(mlirLLVMDISubprogramAttrGetFile(di_subprogram));
357323

358-
// CHECK: #llvm.di_subroutine_type<types = #llvm.di_basic_type<tag =
359-
// DW_TAG_null, name = "foo", sizeInBits = 64, encoding = DW_ATE_signed>>
324+
// CHECK: #llvm.di_subroutine_type<{{.*}}>
360325
mlirAttributeDump(mlirLLVMDISubprogramAttrGetType(di_subprogram));
361326

362327
MlirAttribute expression_elem =

0 commit comments

Comments
 (0)