[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/ergawy/namelist_empty_scalar_value'.
Changed from 89237db30bd5ec94a78821c8ee735df9f55ab38f to 52bc65b25a2bdaa794429c075e1274de024d8ef9
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 a7fa385ffa27504240e90e2b857455459dbd11de by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 05:46..
AMDGPU: Add missing atomic-fmin-fmax-global to gfx13 feature map (#213119)

fillAMDGCNFeatureMap omitted atomic-fmin-fmax-global-f32 and
atomic-fmin-fmax-global-f64 for gfx1310/gfx13-generic, so clang wrongly
rejected the raw_ptr_buffer_atomic_f{min,max}_f{32,64} builtins on those
targets even though the backend enables the features. Add them to the
gfx13 case.

Co-authored-by: Claude (Claude-Opus-4.8)
https://invent.kde.org/qt/clang/llvm-project/-/commit/a7fa385ffa27504240e90e2b857455459dbd11de

Git commit 14192adddc39cb28b7bcb1e6d50dc6ef87f4d54b by GitHub (on behalf of Peter Rong) on 31/07/2026 at 06:01..
[clang][Sema] Fix ObjC file-scope literal diagnostic (#209688)

A non-constant ObjC collection literal used as a file-scope initializer
should get the targeted err_objc_literal_nonconstant_at_file_scope
pointing at the offending element. CheckForConstantInitializer instead
inspected the wrapped Init/Culprit, so under -fobjc-arc, for id-typed
variables, or with parentheses it skipped the per-element loop and fell
back to the generic "initializer element is not a compile-time constant"
on the whole @{...}/@[...] -- or blamed the wrong element (e.g. a valid
string key rather than the non-constant value).

Unwrap the culprit with IgnoreParenImpCasts and drive classification and
per-element reporting off it, mirroring BuildObjC{Array,Dictionary}Literal
(unwrap before each isa<>; keys must be string literals, values/elements
constant object literals). Also treat CK_ARCReclaimReturnedObject as
transparent in Expr::isConstantInitializer so ARC-wrapped literals are
recognized and the reported culprit is the literal itself.

Add objc-constant-literal-dict-key-restrictions.m (macOS no-ARC, iOS ARC,
ObjC++), with each culprit on its own line so -verify checks the caret.

[Assisted-by](https://t.ly/Dkjjk): Opus 4.8
https://invent.kde.org/qt/clang/llvm-project/-/commit/14192adddc39cb28b7bcb1e6d50dc6ef87f4d54b

Git commit 6a38e4e0971285ccd7cca1b732f644a49f772d49 by GitHub (on behalf of Fangrui Song) on 31/07/2026 at 06:14..
[BFI] Simplify computeMassInLoops. NFC (#213200)

Iterate backwards with a plain iterator instead of dancing with
prev(base()).
https://invent.kde.org/qt/clang/llvm-project/-/commit/6a38e4e0971285ccd7cca1b732f644a49f772d49

Git commit 0312615e54f021ed2dc400a3ecd6698058490ae6 by GitHub (on behalf of Mariya Podchishchaeva) on 31/07/2026 at 06:24..
[clang][doc] Use my private email for now (#213058)

I'm in the middle of changing employers and will loose access to the
current email soon for a while.
https://invent.kde.org/qt/clang/llvm-project/-/commit/0312615e54f021ed2dc400a3ecd6698058490ae6

Git commit 9f6b782c7a993dedc8fe8b6e69c36c9684191f27 by GitHub (on behalf of Anutosh Bhat) on 31/07/2026 at 06:24..
[WebAssembly] Fix legalization of v8f16 insertelement (#212992)

```
define <8 x half> @insert_v8f16(<8 x half> %v, half %x) {
  %r = insertelement <8 x half> %v, half %x, i32 3
  ret <8 x half> %r
}
```

```
llc \
  -mtriple=wasm32-unknown-unknown \
  -mattr=+simd128,+fp16 \
  -o /dev/null \
  /private/tmp/wasm-v8f16-insert-only.ll
```

Would lead to 
```
Initial selection DAG: %bb.0 'insert_v8f16:'
SelectionDAG has 10 nodes:
    t0: ch,glue = EntryToken
      t2: v8f16 = WebAssemblyISD::ARGUMENT TargetConstant:i32<0>
          t4: i32 = WebAssemblyISD::ARGUMENT TargetConstant:i32<1>
        t5: i16 = truncate t4
      t6: f16 = bitcast t5
    t8: v8f16 = insert_vector_elt t2, t6, Constant:i32<3>
  t9: ch = WebAssemblyISD::RETURN t0, t8

Soft promote half operand 1:
t8: v8f16 = insert_vector_elt t2, t6, Constant:i32<3>

SoftPromoteHalfOperand Op #1:
t8: v8f16 = insert_vector_elt t2, t6, Constant:i32<3>

LLVM ERROR: Do not know how to soft promote this operator's operand!
```
https://invent.kde.org/qt/clang/llvm-project/-/commit/9f6b782c7a993dedc8fe8b6e69c36c9684191f27

Git commit 652e04312e8c5f4fc90ac16be494c3562c111ab9 by GitHub (on behalf of Ramon Munoz Jr) on 31/07/2026 at 06:24..
[MC] Add default ctor to SubtargetSubTypeAliasKV for zero-alias targets- #38762 (#212919)

Fixes a Windows MSVC 2019-only build break from 02da012 ("TableGen: Use
a compact table for CPU aliases", #211952).

That commit added std::array<SubtargetSubTypeAliasKV, NumAliases> to
SubtargetSubTypeKVStorage. SubtargetSubTypeAliasKV uses relative string
offsets, so it is non-copyable and declares only a two-argument
constructor -
no default constructor. In the MSVC 2019 STL, std::array<T, 0> still
holds a
real _Ty _Elems[1] and value-initializes it, so it requires T to be
default-constructible. Any target that defines no ProcessorAlias records
instantiates std::array<..., 0> and fails to compile. MSVC 2022 changed
this
member to a conditionally-empty type, so only MSVC 2019 is affected.

Fix: add a constexpr default constructor.

Co-Authored-By: Claude Opus 5
Signed-off-by: Munoz Jr, Ramon <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/652e04312e8c5f4fc90ac16be494c3562c111ab9

Git commit d91967e13ea281e37930cc592d35dfd3c5447a3f by GitHub (on behalf of David Green) on 31/07/2026 at 06:39..
[AArch64][GlobalISel] Update combine tests with concrete types. NFC (#213212)
https://invent.kde.org/qt/clang/llvm-project/-/commit/d91967e13ea281e37930cc592d35dfd3c5447a3f

Git commit 88fb1a93f4dd4e2bc5637b5e30ff0fab9edc21a9 by GitHub (on behalf of Timm Baeder) on 31/07/2026 at 06:47..
[clang][bytecode][NFC] Use auto* if we can (#213209)

Instead of just auto.
https://invent.kde.org/qt/clang/llvm-project/-/commit/88fb1a93f4dd4e2bc5637b5e30ff0fab9edc21a9

Git commit e1823e8b1778997d12ba947350190af5ee845ca9 by GitHub (on behalf of Nathaniel McCallum) on 31/07/2026 at 07:13..
[X86] Fix miscompile of fptosi.sat.iN.f16 for NaN under avx512fp16 (#210556)

`X86TargetLowering::LowerFP_TO_INT_SAT` incorrectly lowered
`llvm.fptosi.sat.iN.f16` for N = 13, 14, 15, 16 under `avx512fp16`
codegen: NaN inputs produced the destination type's minimum value
instead of the 0 that the intrinsic's documented semantics require.
Vector forms that scalarize through this lowering are affected under
the same condition, applied per element. See the third commit message
for the full root-cause analysis and fix rationale.

---

Assisted-by: Claude (Anthropic)
Assisted-by: Codex (OpenAI)

The investigation, root-cause analysis, fix, and tests in this PR were
developed with substantial AI assistance (Claude), including four
independent AI-assisted review rounds (Codex). I reviewed and take
responsibility for all code, analysis, and claims in this PR, and can
answer questions about the reasoning above.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e1823e8b1778997d12ba947350190af5ee845ca9

Git commit bcf20310bdafd37253c6c849cd9bd3ba5b79752f by GitHub (on behalf of Jakob Koschel) on 31/07/2026 at 07:24..
[ubsan] Test CFI summaries globally (#206434)

Always enable report_error_type=1 and print_summary=1 for CFI tests, and
update existing tests to check for cfi-bad-type. This allows us to
verify summary output comprehensively across the test suite.

This is a prerequisite for the change to the UBSan summary for CFI in
https://github.com/llvm/llvm-project/pull/203341.

Assisted-by: Automated tooling, human reviewed.
https://invent.kde.org/qt/clang/llvm-project/-/commit/bcf20310bdafd37253c6c849cd9bd3ba5b79752f

Git commit 5eb4272b04144bded2ca1819c2d93b1cd4f1a26b by GitHub (on behalf of Kareem Ergawy) on 31/07/2026 at 07:26..
[flang][CodeGen] Replace fir.select* FIR-to-LLVM patterns with stubs that emit conversion errors (#212978)

`fir.select`, `fir.select_case`, `fir.select_rank`, and
`fir.select_type` are lowered to cf.* earlier in the pipeline
(`--fir-select-ops-conversion` and `--fir-polymorphic-op`). Their
FIR-to-LLVM conversion patterns are dead in a correct pipeline. Replace
them with a single templated stub
`SelectShouldHaveBeenConvertedStub<OP>` that emits `"'fir.<op>' op
should have already been converted"` and fails legalization, so running
`--fir-to-llvm-ir` standalone on stale IR reports a clear diagnostic
instead of "unable to legalize".

`Fir/convert-to-llvm.fir`'s six select* test blocks are removed (the
lowering no longer runs; CF-level coverage lives in
`Fir/SelectOpsConversion/`). `Fir/convert-to-llvm-invalid.fir` gains a
stub-error test per op. `Fir/Todo/select_case_with_character.fir` is
retargeted to check the equivalent diagnostic now emitted by
`--fir-select-ops-conversion`.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <[email protected]>

PR Stack:
* https://github.com/llvm/llvm-project/pull/212977
* ▶️ https://github.com/llvm/llvm-project/pull/212978

Co-authored-by: Claude Sonnet 4.6 (1M context) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/5eb4272b04144bded2ca1819c2d93b1cd4f1a26b

Git commit 2897ee1dbbbfb2d28ba23105b85697824b4a98a5 by GitHub (on behalf of Fabian Ritter) on 31/07/2026 at 07:37..
[AMDGPU][Docs] Memory Model: Refactor location-order to cover reads (#213044)

This shouldn't change anything semantically, only make the spec
(a) closer to the Vulkan spec, which includes reads in their location-ordered
    relation: https://docs.vulkan.org/spec/latest/appendices/memorymodel.html#memory-model-location-ordered
(b) more uniform: this way, the may-see constraints are the same as the vanilla
    LLVM constraints, only with all occurrences of "happens-before" replaced by
    "location-ordered before".
https://invent.kde.org/qt/clang/llvm-project/-/commit/2897ee1dbbbfb2d28ba23105b85697824b4a98a5

Git commit a3ae1e0a8d5edaebe9e934e69fc4df84ed89d365 by GitHub (on behalf of Timm Baeder) on 31/07/2026 at 07:43..
[clang][bytecode][NFC] Enforce internal linkage (#213208)

For a struct and a function.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a3ae1e0a8d5edaebe9e934e69fc4df84ed89d365

Git commit 21b0fc84c2f5fac1d3f763cfa581762684ad2a89 by GitHub (on behalf of Timm Baeder) on 31/07/2026 at 07:45..
[clang][bytecode][NFC] Remove redundant casts (#213210)
https://invent.kde.org/qt/clang/llvm-project/-/commit/21b0fc84c2f5fac1d3f763cfa581762684ad2a89

Git commit cd209ed547cca737b14c7d23fba4c3def8365f42 by ergawy on 31/07/2026 at 07:48..
[flang-rt][NAMELIST] Accept empty scalar assignments as a language extension

Extend Flang's NAMELIST input to accept an assignment to a scalar item
whose value is omitted, e.g. `l=` in

    &nml l= i_count=7 r_value=2.72/

leaving the item's current value unchanged.  This form is non-standard
(F2023 13.11.3.2 requires a value to follow the `=` for a scalar item)
but is accepted by classic nvfortran and gfortran; users porting code
between compilers have come to rely on it.  `flang/docs/Extensions.md`
is updated to list the new NAMELIST extension alongside the existing
`$`/`&` group-start and mid-value `!`-comment extensions.

Implementation
--------------
Every `EditIntegerInput` / `EditRealInput` / `EditLogicalInput` /
`EditCharacterInput` list-directed arm starts 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.  The 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 name-value pair's name as a bare token,
producing a "Bad character" runtime abort.

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.
https://invent.kde.org/qt/clang/llvm-project/-/commit/cd209ed547cca737b14c7d23fba4c3def8365f42

Git commit 52bc65b25a2bdaa794429c075e1274de024d8ef9 by ergawy on 31/07/2026 at 07:48..
[flang-rt] Reword ResetForNextNamelistItem comment as an extension
https://invent.kde.org/qt/clang/llvm-project/-/commit/52bc65b25a2bdaa794429c075e1274de024d8ef9
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.