[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.