Replace Base.libllvm_version
with libmlir_version
preference
#70
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I didn't put this into #69 because this might require more discussion.
This PR lets the user select the MLIR version they want on compile-time.
Wait, why do this?
Well, several projects experimenting with MLIR.jl, like Coil.jl and Reactant.jl, need to import the whole MLIR.jl code just because they use another libMLIR (included in XLA or IREE). They just need a way to overwrite
MLIR_jll.mlir_c
.Since we conditionally load code based on Julia's LLVM version (mainly for
MLIR.API
andMLIR.Dialects
), the loaded code won't match the version of the custom MLIR loaded version.This PR solves it by letting the user explicitly set the correct MLIR version using
Preferences
.Upstreaming a patch for adding a
mlir_version
function in libMLIR-C would remove the need for this, since the users would just overwritemlir_c
inMLIR_jll
and we could ask the version to it. Meanwhile, and for supporting older versions, this patch will do the trick.