[qt/clang/llvm-project]: 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-project
Pushed by mirror-service into branch 'upstream/users/arsenm/clang/amdgpu-add-d16-gather4-builtin'.
Changed from 0000000000000000000000000000000000000000 to 5d90a4da93e5d096412fdb661c50ad28b3b5e6a5
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 e2c8f57f00971712c1732b137a9afc539e38ff37 by GitHub (on behalf of Robert Imschweiler) on 03/08/2026 at 06:28..
[OpenMPOpt] Null generic-mode wrappers for SPMDized kernels (#207611)
If a kernel gets SPMDized, it doesn't need the wrapper function that is
passed to __kmpc_parallel_60. Keeping the dead wrapper function can lead
to lots of misleading "local memory global used by non-kernel function"
AMDGPU backend warnings.
Let OpenMPOpt null the wrapper argument such that DCE can then remove
the corresponding dead functions.
Claude assisted with this patch.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e2c8f57f00971712c1732b137a9afc539e38ff37
Git commit 7f161cde5751ab5ab38a5e52119f9fe867844758 by GitHub (on behalf of Kareem Ergawy) on 03/08/2026 at 06:40..
[flang-rt] enable IsNamelistNameOrSlash lookahead for scalar namelist items (#211224)
Resolves https://github.com/llvm/llvm-project/issues/211747
Problem
-------
An empty NAMELIST assignment on a scalar item — e.g. `l =` in
&nml l= i_count=7 r_value=2.72/
— aborted at runtime with
fatal Fortran runtime error: Bad character 'i' in LOGICAL input field
Every EditIntegerInput / EditRealInput / EditLogicalInput /
EditCharacterInput function starts its list-directed arm with
if (IsNamelistNameOrSlash(io)) return false; // no value
which peeks ahead (via SavedPosition, no stream consumption) for a
`<name>=` / `<name>%` / `<name>(` shape or one of the terminators `/`
`&` `$`, letting the reader bail cleanly for empty values and
short-array ends. That helper's first line is
if (!listInput || !listInput->namelistGroup()) return false;
InputNamelist however called ResetForNextNamelistItem with
`useDescriptor->rank() > 0 ? &group : nullptr`, so `namelistGroup_`
stayed null for scalars. The peek was silently disabled and the value
reader consumed the next namelist item's name as a bare token, producing
the abort above. Legacy nvfortran / gfortran accept empty scalar
assignments as "keep current value".
Solution
--------
Pass `&group` unconditionally to `ResetForNextNamelistItem`. Today
`IsNamelistNameOrSlash` uses `namelistGroup_` only as a boolean gate
(never as a lookup table), so widening it is a no-op for arrays and
enables the same empty-value / next-name detection for scalars.
NamelistTests.NanInputAmbiguity (which motivated the original pointer
form) still passes; three new tests cover the empty-scalar case, the
empty-array case, and an empty scalar surrounded by arrays.
Co-authored-by: Claude Opus 4.7 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/7f161cde5751ab5ab38a5e52119f9fe867844758
Git commit f7213d839614c3103f4be28a1459e7f12c44dc77 by GitHub (on behalf of Antonio Frighetto) on 03/08/2026 at 06:57..
[MemorySSA] Clarify `getClobberingMemoryAccess(MA, Loc)` overload does not accept MemoryUse (NFC) (#212512)
Outdated comment has been updated to match the implementation, which
asserts on MemoryUse.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f7213d839614c3103f4be28a1459e7f12c44dc77
Git commit f901de33ab614a7f13caa66ed966d3cd6bcb6eab by GitHub (on behalf of Antonio Frighetto) on 03/08/2026 at 06:58..
[GVNHoist] Use MemorySSA, drop MemoryDependenceAnalysis (NFCI) (#212773)
Finalize MemorySSA usage in GVNHoist, while transitioning away from
MemoryDependenceAnalysis.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f901de33ab614a7f13caa66ed966d3cd6bcb6eab
Git commit 738029a68bd265cb4e65e03f63d84c027692adaa by GitHub (on behalf of Madhur Amilkanthwar) on 03/08/2026 at 06:58..
Enforce single-operand form for llvm.loop.vectorize metadata (#210932)
This patch implements Phase 2 of the RFC "Enforce Single-Operand Format
for All .enable Metadata Nodes". Please refer to RFC:
https://discourse.llvm.org/t/rfc-enforce-single-operand-format-for-all-enable-metadata-nodes/90571/
The two-operand boolean form !{!"llvm.loop.vectorize.enable", i1 0/1} is
replaced by a single-operand enable/disable pair:
!{!"llvm.loop.vectorize.enable"} ; force vectorization
!{!"llvm.loop.vectorize.disable"} ; suppress vectorization
The Verifier rejects the two-operand form, AutoUpgrade rewrites old
bitcode (including the legacy llvm.vectorizer.enable tag), and the
readers and producers across LLVM, Clang, MLIR and Polly are updated.
https://invent.kde.org/qt/clang/llvm-project/-/commit/738029a68bd265cb4e65e03f63d84c027692adaa
Git commit a7cc9516751d6c5afe35da0628083879cb52f1c0 by GitHub (on behalf of Wenju He) on 03/08/2026 at 06:58..
[llvm-calc-occupancy] Fix title underline length (#213599)
Fix error: invalid header length in
'CommandGuide/llvm-calc-occupancy.rst' (does not match length of title)
in our downstream Sphinx doc build.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a7cc9516751d6c5afe35da0628083879cb52f1c0
Git commit dba8bec50d5b639991726d99134ab5a4b5c0f493 by Matt Arsenault on 03/08/2026 at 07:12..
clang/AMDGPU: Require 16-bit-insts for half typed buffer format builtins
Typed buffer format load/store operations with 16-bit elements require
d16 support which was introduced in gfx8. These builtins previously had
no required features at all, so they were accepted (and then crashed the
backend) on targets without 16-bit support.
Diagnose these in Sema, parallel to the image builtins. The manual
verification here suprised me. The automatic builtin feature verification
is enforced in codegen, which seems like a layering violation which
should be fixed.
Co-Authored-By: Claude (Opus 4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/dba8bec50d5b639991726d99134ab5a4b5c0f493
Git commit ed8cb5f4d0fbd1c2c3cbd9a391411ae6c4472668 by Matt Arsenault on 03/08/2026 at 07:12..
Use default feature check in codegen instead of sema
https://invent.kde.org/qt/clang/llvm-project/-/commit/ed8cb5f4d0fbd1c2c3cbd9a391411ae6c4472668
Git commit cd7cb48b49571582a045f629c35a68604ff237ca by Matt Arsenault on 03/08/2026 at 07:12..
clang/AMDGPU: Require 16-bit-insts for half typed image builtins
Typed image load/store operations with 16-bit elements require d16
support which was introduced in gfx8. They were previously gated only
on image-insts, so they were wrongly accepted on targets that have
images but lack 16-bit support (e.g. gfx700), where the backend then
fails to select.
Co-Authored-By: Claude (Opus 4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/cd7cb48b49571582a045f629c35a68604ff237ca
Git commit 95cecaf17475bf81f10cbea88dd5cd859cfb7c6c by Matt Arsenault on 03/08/2026 at 07:12..
clang/AMDGPU: Require 16-bit-insts for half typed image sample builtins
Extend the d16 feature requirement to the half typed image sample
builtins. The sample variants returning 16-bit elements require d16 support
(gfx8+) but were gated only on image-insts/extended-image-insts, so they were
wrongly accepted on old targets.
Co-Authored-By: Claude (Opus 4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/95cecaf17475bf81f10cbea88dd5cd859cfb7c6c
Git commit 5d90a4da93e5d096412fdb661c50ad28b3b5e6a5 by Matt Arsenault on 03/08/2026 at 08:30..
clang/AMDGPU: Add half typed image gather4 builtin
Follow along with the precedent of using an f32 suffix
for the coordinate type. We probably should have had one
builtin that detected the coordinate type.
Co-Authored-By: Claude (Opus 4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/5d90a4da93e5d096412fdb661c50ad28b3b5e6a5