Skip to content

Commit e7661d8

Browse files
authored
Generate bindings for MLIR 19 (#82)
* Generate bindings for LLVM 19 * Generate bindings to dialects * Update generator script * Update versioned module generation * Fix interpolation * Fix symbol imports * Fix MLIR version lower bound
1 parent 67879b2 commit e7661d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+90416
-9
lines changed

Diff for: bindings/make.jl

+86-1
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,91 @@ function mlir_dialects(version::VersionNumber)
327327
("vector", "Vector.jl", ["Vector/IR/VectorOps.td"]),
328328
("x86vector", "X86Vector.jl", ["X86Vector/X86Vector.td"]),
329329
]
330-
330+
elseif v"19" <= version < v"20"
331+
[
332+
("acc", "OpenACC.jl", ["OpenACC/OpenACCOps.td"]),
333+
("affine", "Affine.jl", ["Affine/IR/AffineOps.td"]),
334+
("amdgpu", "AMDGPU.jl", ["AMDGPU/IR/AMDGPU.td"]),
335+
("amx", "AMX.jl", ["AMX/AMX.td"]),
336+
("arith", "Arith.jl", ["Arith/IR/ArithOps.td"]),
337+
("arm_neon", "ArmNeon.jl", ["ArmNeon/ArmNeon.td"]),
338+
(
339+
"arm_sme",
340+
"ArmSME.jl",
341+
["ArmSME/IR/ArmSMEOps.td", "ArmSME/IR/ArmSMEIntrinsicOps.td"],
342+
),
343+
("arm_sve", "ArmSVE.jl", ["ArmSVE/IR/ArmSVE.td"]),
344+
("async", "Async.jl", ["Async/IR/AsyncOps.td"]),
345+
("bufferization", "Bufferization.jl", ["Bufferization/IR/BufferizationOps.td"]),
346+
("builtin", "Builtin.jl", ["../IR/BuiltinOps.td"]),
347+
("cf", "ControlFlow.jl", ["ControlFlow/IR/ControlFlowOps.td"]),
348+
("complex", "Complex.jl", ["Complex/IR/ComplexOps.td"]),
349+
# ("dlti", "DLTI.jl", ["DLTI/DLTI.td"]), # TODO crashes
350+
("emitc", "EmitC.jl", ["EmitC/IR/EmitC.td"]),
351+
("func", "Func.jl", ["Func/IR/FuncOps.td"]),
352+
("gpu", "GPU.jl", ["GPU/IR/GPUOps.td"]),
353+
("index", "Index.jl", ["Index/IR/IndexOps.td"]),
354+
("irdl", "IRDL.jl", ["IRDL/IR/IRDLOps.td"]),
355+
(
356+
"linalg",
357+
"Linalg.jl",
358+
["Linalg/IR/LinalgOps.td", "Linalg/IR/LinalgStructuredOps.td"],
359+
),
360+
(
361+
"llvm",
362+
"LLVMIR.jl",
363+
[
364+
"LLVMIR/LLVMOps.td",
365+
"LLVMIR/LLVMIntrinsicOps.td",
366+
"LLVMIR/NVVMOps.td",
367+
"LLVMIR/ROCDLOps.td",
368+
],
369+
),
370+
("math", "Math.jl", ["Math/IR/MathOps.td"]),
371+
("memref", "MemRef.jl", ["MemRef/IR/MemRefOps.td"]),
372+
("mesh", "Mesh.jl", ["Mesh/IR/MeshOps.td"]),
373+
("ml_program", "MLProgram.jl", ["MLProgram/IR/MLProgramOps.td"]),
374+
("mpi", "MPI.jl", ["MPI/IR/MPIOps.td"]),
375+
("nvgpu", "NVGPU.jl", ["NVGPU/IR/NVGPU.td"]),
376+
("omp", "OpenMP.jl", ["OpenMP/OpenMPOps.td"]),
377+
("pdl_interp", "PDLInterp.jl", ["PDLInterp/IR/PDLInterpOps.td"]),
378+
("pdl", "PDL.jl", ["PDL/IR/PDLOps.td"]),
379+
("polynomial", "Polynomial.jl", ["Polynomial/IR/Polynomial.td"]),
380+
# ("ptr", "Ptr.jl", ["Ptr/IR/PtrOps.td"]),
381+
("quant", "Quant.jl", ["Quant/QuantOps.td"]),
382+
("scf", "SCF.jl", ["SCF/IR/SCFOps.td"]),
383+
("shape", "Shape.jl", ["Shape/IR/ShapeOps.td"]),
384+
("sparse_tensor", "SparseTensor.jl", ["SparseTensor/IR/SparseTensorOps.td"]),
385+
("spirv", "SPIRV.jl", ["SPIRV/IR/SPIRVOps.td"]),
386+
("tensor", "Tensor.jl", ["Tensor/IR/TensorOps.td"]),
387+
("tosa", "Tosa.jl", ["Tosa/IR/TosaOps.td"]),
388+
(
389+
"transform",
390+
"Transform.jl",
391+
[
392+
"Affine/TransformOps/AffineTransformOps.td",
393+
"Bufferization/TransformOps/BufferizationTransformOps.td",
394+
"Func/TransformOps/FuncTransformOps.td",
395+
"GPU/TransformOps/GPUTransformOps.td",
396+
"Linalg/TransformOps/LinalgMatchOps.td",
397+
"Linalg/TransformOps/LinalgTransformOps.td",
398+
"MemRef/TransformOps/MemRefTransformOps.td",
399+
"NVGPU/TransformOps/NVGPUTransformOps.td",
400+
"SCF/TransformOps/SCFTransformOps.td",
401+
"SparseTensor/TransformOps/SparseTensorTransformOps.td",
402+
"Tensor/TransformOps/TensorTransformOps.td",
403+
"Transform/IR/TransformOps.td",
404+
"Transform/DebugExtension/DebugExtensionOps.td",
405+
"Transform/LoopExtension/LoopExtensionOps.td",
406+
"Transform/PDLExtension/PDLExtensionOps.td",
407+
"Vector/TransformOps/VectorTransformOps.td",
408+
],
409+
),
410+
("ub", "UB.jl", ["UB/IR/UBOps.td"]),
411+
("vector", "Vector.jl", ["Vector/IR/VectorOps.td"]),
412+
("x86vector", "X86Vector.jl", ["X86Vector/X86Vector.td"]),
413+
("xegpu", "XeGPU.jl", ["XeGPU/IR/XeGPUOps.td"]),
414+
]
331415
else
332416
error("Unsupported MLIR version: $version")
333417
end
@@ -343,6 +427,7 @@ julia_llvm = [
343427
(v"1.11", v"16.0.6+2"),
344428
(v"1.12", v"17.0.6+3"),
345429
(v"1.12", v"18.1.7+2"),
430+
(v"1.12", v"19.1.1+0"),
346431
]
347432
options = load_options(joinpath(@__DIR__, "wrap.toml"))
348433

0 commit comments

Comments
 (0)