[qt/clang/llvm]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm Pushed by mirror-service into branch 'upstream/users/makslevental/mlir-c-typeconverter-1ton'. Changed from e9577f804877228c26ea3c37b385ab8a1d05dee0 to e4b62b0279fad81a1d2969822e9f009f31d8f04d Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 0747c994b3badf2322f7af5362ceb9556e3f42ec by makslevental on 17/07/2026 at 19:22.. address comment https://invent.kde.org/qt/clang/llvm/-/commit/0747c994b3badf2322f7af5362ceb9556e3f42ec Git commit bc9d7cc86ad7bb55ee5042c8e3d604c51b3e3c67 by makslevental on 17/07/2026 at 19:22.. [mlir-c] Add 1:N TypeConverter conversion and materialization bindings Builds on the source/target materialization C bindings: - Target materialization callbacks now receive `originalType` (split from the previously-shared source/target callback typedef), exposing a documented C++ capability that was otherwise unreachable from C. - 1:N type conversion: `mlirTypeConverterAdd1ToNConversion` plus an opaque results accumulator (`MlirTypeConverterConversionResults` / `mlirTypeConverterConversionResultsAppend`). A declining callback's appended types are rolled back so the driver's "try the next conversion" invariant holds. - 1:N target materialization: `mlirTypeConverterAdd1ToNTargetMaterialization`, whose callback fills a caller-allocated `outputs` buffer. A success that leaves any output null is treated as a decline rather than handing the driver a null-containing result. - `mlirConversionPatternRewriterReplaceOpWithMultiple` for 1:N value replacement, which can drive a source materialization with nInputs > 1. - An optional `matchAndRewrite1ToN` callback on `MlirConversionPatternCallbacks` for patterns consuming 1:N-remapped operands; when null the driver falls back to the 1:1 dispatch. Adds end-to-end tests in mlir/test/CAPI/rewrite.c covering originalType observation, source/target materialization decline paths, 1:N conversion (including append-then-decline rollback and erasure), 1:N target materialization (including the unfilled-outputs decline), multi-input source materialization, multi-range replaceOpWithMultiple, and the 1:1-only-pattern vs 1:N-operand failure. https://invent.kde.org/qt/clang/llvm/-/commit/bc9d7cc86ad7bb55ee5042c8e3d604c51b3e3c67 Git commit 185b7b747d8a497204f5cc6fcaf159c32734e18d by makslevental on 17/07/2026 at 19:22.. [mlir-c] Fix -Wmissing-field-initializers in rewrite.c test The new matchAndRewrite1ToN field left three existing MlirConversionPatternCallbacks initializers under-initialized, which fails the CI build under -Werror=-Wmissing-field-initializers. https://invent.kde.org/qt/clang/llvm/-/commit/185b7b747d8a497204f5cc6fcaf159c32734e18d Git commit 3a029cd0dd427826c5ed1125fd21f007a3c98493 by makslevental on 17/07/2026 at 19:22.. [mlir-c] Value-initialize MlirConversionPatternCallbacks in Python bindings The Python conversion-pattern binding left the struct default-initialized, so the newly-added optional matchAndRewrite1ToN field held an indeterminate pointer. The driver's null check then read garbage and jumped into it, segfaulting mlir/test/python/rewrite.py. Value-initialize the struct so optional callbacks default to null. https://invent.kde.org/qt/clang/llvm/-/commit/3a029cd0dd427826c5ed1125fd21f007a3c98493 Git commit f698e79019a9b89f2e944b4540947f861dc3b32d by makslevental on 17/07/2026 at 19:23.. pre-increment https://invent.kde.org/qt/clang/llvm/-/commit/f698e79019a9b89f2e944b4540947f861dc3b32d Git commit e4b62b0279fad81a1d2969822e9f009f31d8f04d by makslevental on 17/07/2026 at 20:10.. cleanup comments https://invent.kde.org/qt/clang/llvm/-/commit/e4b62b0279fad81a1d2969822e9f009f31d8f04d