You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update JAX & MLIR dependency chain to v0.4.28 (#931)
**Context:**
We target at 0.4.28 instead of 0.4.30 because many bufferization passes
are removed after [this llvm
commit](llvm/llvm-project#93535).
**Description of the Change:**
***Mandatory Updates:***
* Cmake
- Remove `MhloShapeOpsToStandard`
[link](tensorflow/mlir-hlo@57d2124)
- Add `StablehloPasses`
- Add `MhloQuantToIntConversion` (This will be removed after 0.4.29)
- `EnzymeStatic-18` => `EnzymeStatic-19`
- `RunnerUtils.h` requires `Float16Bits.h`
[link](llvm/llvm-project@7bc6c4a)
* LLVM
- `setDataLayout` must happen before code generation or they will use
the default one.
[link](https://discord.com/channels/636084430946959380/636732535434510338/1265407221324451871)
* MLIR
- `updateRootInPlace` => `modifyOpInPlace`
- `startRootUpdate` => `startOpModification`
- `finalizeRootUpdate` => `finalizeOpModification`
- The order of transformed mlir expressions is different and required
fine-tuning for `CHECK-DAG`s.
- Using rewriter's method to release MeasurementOps (Caused by LLVM
commit-`b840d2968391dd610b792a65133a1edc1bcc397c`).
[link](llvm/llvm-project@b840d29)
- Allow `replaceTerminatorWithUnconditionalJumpToSuccessBlock` to accept
`LLVM:br`. (New LLVM/MLIR will reuse `LLVM::UnreachableOp` and use
`LLVM::br` to reach it.)
* Frontend
- `jax.linear_util` => `jax.extend.linear_util`
[link](https://jax.readthedocs.io/en/latest/changelog.html#jax-0-4-24-feb-6-2024)
- `jax_ctx.module_context.replace` => `jax_ctx.replace`
- `gensym(jaxprs, suffix)` => `gensym(suffix)`
[link](jax-ml/jax@67df647)
- Move `name_stack` out of mlir.ModuleContext (functions like
`lower_jaxpr_to_fun` is taking `name_stack` now).
[link](jax-ml/jax#19856).
- Pass `LoweringRuleContext.ModuleContext` instead of
`LoweringRuleContext` to `jaxpr_subcomp`
- Patch new `_sin_lowering` and `_cos_lowering` with
`_nary_lower_hlo(sine/cosine)`.
- Variable names (like `%0` => `%cst`) and orders in FileCheck.
***Deprecations/Warnings:***
* MLIR
- `x.cast<T>()` => `mlir::cast<T>(x)`
[link](https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443)
- `x.dyn_cast<T>()` => `mlir::dyn_cast<T>(x)`
[link](https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443)
- `x.isa<T>()` => `mlir::isa<T>(x)`
[link](https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443)
* Enzyme
- Add `DCMAKE_POLICY_DEFAULT_CMP0116`
**Related GitHub Issues:**
#863
[sc-67111]
---------
Co-authored-by: David Ittah <dime10@users.noreply.github.com>
Co-authored-by: erick-xanadu <110487834+erick-xanadu@users.noreply.github.com>
0 commit comments