Skip to content

Bump LLVM to f1873b3b814b - #441

Merged
AndreyPavlenko merged 1 commit into
mainfrom
Garra1980/bump-llvm-f1873b3b
Nov 4, 2026
Merged

AndreyPavlenko merged 1 commit into
mainfrom
Garra1980/bump-llvm-f1873b3b

Conversation

@Garra1980

@Garra1980 Garra1980 commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Two upstream changes need adjustments on our side.

Bufferization external models moved into their own libraries.
llvm/llvm-project#236459 took the BufferizableOpInterface,
BufferDeallocationOpInterface and AllocationOpInterface external models out
of each dialect's Transforms library and gave each one an
MLIR<Dialect><Interface>Impl library. Its migration guide requires
out-of-tree callers of a register*ExternalModels function to link the
corresponding new library. Because cmake/mlir.cmake keeps a curated
MLIR_DIALECT_LIBS list rather than the full list from MLIRConfig.cmake, the
new libraries do not arrive on their own and the link fails with eleven
undefined references, for example:

undefined reference to `mlir::tensor::registerBufferizableOpInterfaceExternalModels(mlir::DialectRegistry&)'

The eleven libraries that back the registrations in getDialectRegistry() are
added to that list. The Linalg and Func models stay in
MLIRBufferizationTransforms for now; upstream plans to move those too, which
will need the same treatment.

MLIR dump() is now debug-only. llvm/llvm-project#233398 compiles the MLIR
dump() methods only under !NDEBUG || LLVM_ENABLE_DUMP. The OpenVINO GPU
plugin still calls ModuleOp::dump(), so a release build of
openvino_intel_gpu_mlir_obj fails with:

error: no member named 'dump' in 'mlir::ModuleOp'

scripts/build.sh now builds LLVM with LLVM_ENABLE_DUMP=ON as a temporary
workaround. The upstream migration is to call print() instead; the flag
should be dropped once the OpenVINO caller does that.

🤖 Generated with Claude Code

Two upstream changes need adjustments on our side:

llvm/llvm-project@8ffc25602651 moved the bufferization external models out
of each dialect's Transforms library into one MLIR<Dialect><Interface>Impl
library per model. Its migration guide requires out-of-tree callers of a
register*ExternalModels function to link the corresponding new library, so
the eleven libraries that back the registrations in getDialectRegistry() are
added to MLIR_DIALECT_LIBS. The Linalg and Func models stay in
MLIRBufferizationTransforms for now; upstream plans to move those too.

llvm/llvm-project@4d787f35aaba compiles the MLIR dump() methods only under
!NDEBUG || LLVM_ENABLE_DUMP. The OpenVINO GPU plugin still calls
ModuleOp::dump(), so a release build of openvino_intel_gpu_mlir_obj fails
with

  error: no member named 'dump' in 'mlir::ModuleOp'

Build LLVM with LLVM_ENABLE_DUMP=ON as a temporary workaround. The upstream
migration is to call print() instead; drop the flag once the OpenVINO caller
does that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@AndreyPavlenko
AndreyPavlenko merged commit cf5e3d6 into main Nov 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants