-
Notifications
You must be signed in to change notification settings - Fork 59
Update LLVM version, 2025 Q4 #2122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
|
Hello. You may have forgotten to update the changelog!
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2122 +/- ##
==========================================
- Coverage 97.44% 97.43% -0.01%
==========================================
Files 93 93
Lines 10571 10583 +12
Branches 1003 1004 +1
==========================================
+ Hits 10301 10312 +11
- Misses 211 212 +1
Partials 59 59 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Merged
paul0403
reviewed
Oct 29, 2025
paul0403
reviewed
Oct 29, 2025
…yLaneAI/catalyst into rniczh/update-llvm-version-20251009
Merged
rniczh
added a commit
that referenced
this pull request
Nov 5, 2025
**Context:** Latest LLVM update #2122 requires `nanobind>=2.9` **Description of the Change:** **Benefits:** **Possible Drawbacks:** **Related GitHub Issues:**
This was referenced Nov 6, 2025
rniczh
added a commit
that referenced
this pull request
Nov 11, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Context:
Update llvm, stablehlo and enzyme, 2025 Q4
The latest pair of good versions, indicated by stablehlo, is openxla/stablehlo@0a4440a
For Enzyme, we go to the latest release https://github.com/EnzymeAD/Enzyme/releases/tag/v0.0.203
with commit
476c8e3193a8577ba24ff845ae2294109225f83aDescription of the Change:
llvm-project/mlir/include/mlir/InitAllPasses.hheader no longer includes individual pass headers.To incorporate specific passes, you now need to include either
mlir/Conversion/Passes.hor the header for each dialect pass. This change stems from the upstream cleanup ofmlir/InitAllDialects.h, which previously handled these includes. Following the decision from the owner (as seen in this pull request comment: https://github.com/ftynse/water/pull/16/files#r2259526343), we will specifically include each required header, faster compilation (no unnecessary headers). For further context, refer to this PR: [mlir] RelandMove InitAll*** implementation into static libraryllvm/llvm-project#151150bufferization::detail::defaultGetBufferTypeto beBufferLikeTypeinstead ofBaseMemRefType. We aligned the behaviour with the upstream PR, return the BufferLikeType from ourgetBufferType()implementation as well.elemwise_unaryandelemwise_binaryoflinalghave been deprecated from the upstream, replaced withelementwise. [MLIR][Linalg] Remove elemwise_unary and elemwise_binary llvm/llvm-project#147082. Follow this PR, usinglinalg.adddirectly.register_all_dialects/passes/extension` should now be configured as a static library in CMake, refer to this PR: [mlir] Reland
Move InitAll*** implementation into static libraryllvm/llvm-project#151150{op}::createmethod) be added to support the same behaviour ofrewriter.createmethod. But it provides a meaningful message when using this new opt-in feature compared torewrite.create. Since the new generatedcreatefunction will call thebuildfunction, it requires us to define the instance of the builder (GraidentOps.td). Refer to the PR: [mlir][tblgen] add concrete create methods llvm/llvm-project#147168.Take
linalg.absas an example:EnzymeStatic-21toEnzymeStatic-22_ods_cext.globals.register_traceback_file_exclusiondue to API conflicts between Catalyst's MLIR version and the MLIR version used by JAX. The current JAX version we used has not yet updated to the latest MLIR, causing compatibility issues. This workaround will be removed once JAX updates to a compatible MLIR version. [mlir][python] automatic location inference llvm/llvm-project#151246TODO:
rewrite.createto{op}::createEven it’s compatible to the current
rewrite.createmethod, we don’t need to change allrewrite.createto{op}::createright away, but this new feature provides more friendly development experience. Just for an example: [mlir][core] NFC update builder create API usage llvm/llvm-project#147311Benefits:
Possible Drawbacks:
Related GitHub Issues:
[sc-100911]
[sc-100912]