[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/main'.
Changed from 79537625e213b6a5f329da1d5a443de265346a5e to 6ebd9e1a12235fdc42e3e7b157678e6711af9c62
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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/commit/21b0fc84c2f5fac1d3f763cfa581762684ad2a89

Git commit 99b3c767c34a04af0a2bbb1fd41bf1b2cb62b331 by GitHub (on behalf of David Sherwood) on 31/07/2026 at 07:52..
[Analysis] Optimise mul(const, (udiv %n, const)) during SCEV expansion (#212769)

We sometimes see SCEV expansions like this:

  %lshr = lshr i64 %n, 2
  %shl = shl i64 %lshr, 2

which originate from SCEV mul and udiv expressions:

  mul(4, udiv(%n, 4))

that both share the same multiplicand, divisor. The instcombine pass
normally canonicalises this into

  %and = and %n, -4

which is the final IR typically seen by the backend. In the case of SCEV
expansion during a pass like the loop vectoriser, instcombine does clean
this up. However, before this is cleaned up it will lead to
over-estimation of costs of SCEV checks, since the shifts are costed
separately and added up. It doesn't seem like there is an easy way to
look at the use count of a SCEV node in the SCEVExpander code. However,
I think for simple cases like this it's always beneficial to fold them
even if there are multiple uses of the SCEV udiv because we're dropping
both shifts.
https://invent.kde.org/qt/clang/llvm/-/commit/99b3c767c34a04af0a2bbb1fd41bf1b2cb62b331

Git commit 9d1018038c01d12801ccca9da5e6b5589989750a by GitHub (on behalf of Lukas Sommer) on 31/07/2026 at 07:57..
[RegAlloc] Avoid split past block-prologue interference (#209704)

`leaveIntvAtTop` skips the target-specific block prologue when
determining the insertion point.

If the block prologue itself contains an instruction that interferes
with the interval, we must leave the interval before the block,
otherwise we will hit an assertion in `splitLiveThroughBlock`.

---------

Signed-off-by: Lukas Sommer <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/9d1018038c01d12801ccca9da5e6b5589989750a

Git commit 28896ffcde9a773361e5d61191ebc2100abf5bcf by GitHub (on behalf of Benedek Kaibas) on 31/07/2026 at 08:15..
[analyzer][NFC] Add test cases for the lifetime test suite (#212254)

During the development of the lifetime checkers I had many important
test cases saved locally and were never imported to the test files of
the checkers. This PR adds those missing test cases to the test files.
By adding these test cases it helps tracking the state of the lifetime
checkers and what improvements they need in order to have better
coverage and reduce the false positive rate.

*AI policy*: During the development I have consulted with claude sonnet
5 to list me test case scenarios it thinks are useful and then reviewed
its feedback and implemented/wrote those test cases by myself. Since
some of the test cases are edge cases I wanted to make sure the
implementation is on the right track.
https://invent.kde.org/qt/clang/llvm/-/commit/28896ffcde9a773361e5d61191ebc2100abf5bcf

Git commit 5eb876fcaf460a9ee1dac9490b4b2871674b80ec by GitHub (on behalf of Benedek Kaibas) on 31/07/2026 at 08:24..
[analyzer][NFC] Match the parameters order of getEndPath and finalizeVisitor with VisitNode (#212883)

Currently the ordering of the parameters in `getEndPath` and
`finalizeVisitor` functions does not match the declaration of the
`VisitNode` function. This PR resolves it by reordering the parameters
among these functions to be consistent.
https://invent.kde.org/qt/clang/llvm/-/commit/5eb876fcaf460a9ee1dac9490b4b2871674b80ec

Git commit 2b4f6c42a7dbc8b28c71a334a9fbecce99b68eaf by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 08:26..
AMDGPU: Add missing mqsad-pk-insts to gfx13 frontend feature map (#213124)

fillAMDGCNFeatureMap omitted mqsad-pk-insts for gfx1310/gfx13-generic,
so clang wrongly rejected __builtin_amdgcn_mqsad_pk_u16_u8 on those 
targets even though the backend enables the feature. Add it to the gfx13 case.

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

Git commit df81098826f9b45df3cbe2f29af3c44d69d5851a by GitHub (on behalf of Sergey Shcherbinin) on 31/07/2026 at 08:27..
[llvm-profgen] Preserve zero-valued first PT_LOAD address (#212258)

FirstLoadableAddress was initialized with if (!FirstLoadableAddress), so
a valid first PT_LOAD at vaddr 0 was treated as unset and overwritten by
a later segment. Track whether the first loadable segment has been seen
instead.

Assisted by GPT-5
https://invent.kde.org/qt/clang/llvm/-/commit/df81098826f9b45df3cbe2f29af3c44d69d5851a

Git commit 4fbad31a8adf437e1d0f1307ff4c26a248462b09 by GitHub (on behalf of Arseniy Obolenskiy) on 31/07/2026 at 08:36..
[mlir][SPIR-V] Add SPIRVToLLVM conversions for FMod and SMod (#206933)
https://invent.kde.org/qt/clang/llvm/-/commit/4fbad31a8adf437e1d0f1307ff4c26a248462b09

Git commit 814c0e672dfc81ae02a0772879f993a57bdbc1ad by GitHub (on behalf of Jeremy Johnson) on 31/07/2026 at 08:36..
[mlir][tosa] Switch matmul_t output to bf16 from fp16 (#212970)

Note that this implements the TOSA specification change:
https://github.com/arm/tosa-specification/pull/67

---------

Signed-off-by: Jeremy Johnson <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/814c0e672dfc81ae02a0772879f993a57bdbc1ad

Git commit 9b734e25473bc9e299a4b58575b9b0e618925b78 by GitHub (on behalf of Siyi Xu) on 31/07/2026 at 08:38..
[mlir][NVVM] Add memory clobber support to inline_ptx and BasicPtxBui… (#212937)

PTX with memory side effects (stores, atomics, mbarrier operations with
acquire/release semantics) emitted through `nvvm.inline_ptx` lowers to
`llvm.inline_asm` with register constraints only. Without a `~{memory}`
clobber, LLVM may reorder memory accesses across the inline assembly.
There was no way to express the clobber through this op or the
`BasicPtxBuilderInterface` machinery.

This patch adds, as discussed with @grypp:
- A `hasMemoryClobber` interface method (default `false`) on
`BasicPtxBuilderOpInterface`; when it returns `true`, `PtxBuilder`
appends `~{memory}` to the constraints of the generated inline assembly,
after all register constraints and tied indices.
- An opt-in `memory_clobber` boolean attribute (default `false`) on
`nvvm.inline_ptx` exposing this. Existing behavior is unchanged unless
the attribute is set to `true`.

For example:
```mlir
nvvm.inline_ptx "mbarrier.init.b64 [$0], $1;" ro(%p, %c : !llvm.ptr, i32) memory_clobber = true
```
now lowers to inline assembly with constraints `"l,r,~{memory}"`.

Tests: constraint emission with/without the attribute, combination with
predicate (`"l,r,b,~{memory}"`), read-write operands with tied indices
(`"=f,=f,r,r,0,1,~{memory}"`), and the no-operand case (`"~{memory}"`).
The op documentation's first example (mbarrier.init) is updated to show
correct usage.
https://invent.kde.org/qt/clang/llvm/-/commit/9b734e25473bc9e299a4b58575b9b0e618925b78

Git commit 65cd5388148e798798507dd9301e1dfe564f8ab3 by GitHub (on behalf of David Sherwood) on 31/07/2026 at 08:47..
[LV][NFC] Remove almost all remaining instcombine passes in RUN lines (#213067)
https://invent.kde.org/qt/clang/llvm/-/commit/65cd5388148e798798507dd9301e1dfe564f8ab3

Git commit 4120b5f5a3770cea9b26063eaca3d18153307961 by GitHub (on behalf of Yingying Wang) on 31/07/2026 at 08:53..
[RISCV] Deduplicate frame base address materializations for large stack frames (#211748)

For large stack frames, `eliminateFrameIndex` materializes the frame
base with a `LUI+ADD` sequence for every frame index access. When
multiple accesses share the same 4096-aligned base, this generates
redundant `LUI+ADD` sequences that `MachineLateInstrsCleanup` cannot
eliminate because it operates on individual instructions.

Introduce `PseudoAddUpperImm` to represent the `LUI+ADD` sequence as a
single pseudo instruction during frame index elimination. This enables
`MachineLateInstrsCleanup` to CSE identical frame base computations
within a basic block. The pseudo is expanded back to `LUI+ADD` in
`RISCVPostRAExpandPseudo`.

This patch improves SPEC CPU2026 `cactus` performance by 18% on the
SpaceMit K3 processor.

  ### Example

Before :

```assembly
  lui  a0, 4
  add  a0, a0, sp
  fsd  fa3, -1976(a0)
  lui  a0, 4          # redundant
  add  a0, a0, sp     # redundant
  ld   s10, -160(a0)
```

After :

```assembly
  lui  a0, 4
  add  a0, a0, sp
  fsd  fa3, -1976(a0)
  ld   s10, -160(a0)  # reuses a0
```
https://invent.kde.org/qt/clang/llvm/-/commit/4120b5f5a3770cea9b26063eaca3d18153307961

Git commit 6f9c189f738d47c7ad80f6bdf928fea441bfa8d6 by GitHub (on behalf of Jakob Koschel) on 31/07/2026 at 08:56..
[ubsan] Report specific CFI checks in UBSan summaries (#213224)

Instead of reporting generic `cfi-bad-type` in UBSan summaries for CFI
failures, report the specific CFI check kind (e.g., `cfi-vcall`,
`cfi-nvcall`, `cfi-icall`, `cfi-mfcall`, `cfi-derived-cast`,
`cfi-unrelated-cast`).

This is done by splitting CFIBadType into specific error types in
ubsan_checks.inc, and updating the handlers to report the appropriate
ErrorType based on the check kind. The suppression flag name for all of
them remains `cfi` to maintain backward compatibility.

Also replaces cfi-bad-type expectations in the existing tests.

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

Git commit 5808b2d513d1baa3355d078193006ab9384a4ee3 by GitHub (on behalf of Arseniy Obolenskiy) on 31/07/2026 at 08:58..
[SPIR-V] Expand atomicrmw nand through compare-exchange (#213217)
https://invent.kde.org/qt/clang/llvm/-/commit/5808b2d513d1baa3355d078193006ab9384a4ee3

Git commit ed0b5c0a428202f29f1477f1dbc31c1ab6083341 by GitHub (on behalf of Sean Clarke) on 31/07/2026 at 09:10..
[LoopIdiom] Update MemorySSA when optimizing CRC with lookup table (#213054)

Although the lookup table optimization of CRC loops inserts a `load`
instruction, MemorySSA is not properly updated, and is oblivious to the
new memory access. Insert a memory use immediately after creating the
`load` instruction, and verify MemorySSA at the end of the optimization
if applicable.
https://invent.kde.org/qt/clang/llvm/-/commit/ed0b5c0a428202f29f1477f1dbc31c1ab6083341

Git commit 55418a582c8ced243b4a6eda9b9d7280499af56c by GitHub (on behalf of Petar Avramovic) on 31/07/2026 at 09:11..
GlobalISel: Don't use GISelMatchGenericTypes for floating point opcodes (#212814)

With GISelMatchGenericTypes, AMDGPU had the same input pattern for
G_ATOMICRMW_FADD that checks for v2s16, so the one that is first
in the tablegen table always fires (it was v2f16 in this case).
Should explicitly check for v2f16/v2bf16.
https://invent.kde.org/qt/clang/llvm/-/commit/55418a582c8ced243b4a6eda9b9d7280499af56c

Git commit 81cd5b6217f12ada97e0f1791ba8545120c13230 by GitHub (on behalf of David Spickett) on 31/07/2026 at 09:28..
[lldb] Convert generic register names in a case insensitive way (#213001)

Part of #212778.

There are 3 types of register name:
* The primary name, displayed by default.
* An optional alias, for example AArch64 "lr" is also "x30".
* Generic convenience names like "sp", "ra" and so on.

The first two types are handled case insensitively, but generic names
were not. For example:
(lldb) register read RA
error: Invalid register name 'RA'
(lldb) register read ra
  lr = 0x0000fffff7e27400

In this change I've fixed that.

This does close a workaround for #212778, where you could get to the
actual x86_64 "sp" by using "sP". However, this is only known to work on
Linux, and other architectures are negatively impacted by the bug so I'm
fixing it.
https://invent.kde.org/qt/clang/llvm/-/commit/81cd5b6217f12ada97e0f1791ba8545120c13230

Git commit 303ec27d8b231f9fb3078333894fe9813761e566 by GitHub (on behalf of antoine moynault) on 31/07/2026 at 09:45..
Revert "[ProfileData] Implement contains in SampleProfileNameTable (NFC)" (#213231)

Reverts llvm/llvm-project#211995
Broke arm 32-bit buildbots (narrowing conversion uint64_t -> size_t)
https://invent.kde.org/qt/clang/llvm/-/commit/303ec27d8b231f9fb3078333894fe9813761e566

Git commit 9621bedd8a7a09c5e48a12697ff2d0463067e341 by GitHub (on behalf of Charles Zablit) on 31/07/2026 at 09:49..
[lldb] Only preload a Module's symbols once (#213094)

Creating several targets for the same file concurrently could deadlock.

Targets share Module objects. Therefore, each concurrent
`SBDebugger::CreateTarget()` call creates a `PreloadSymbols()` task for
the *same* Module. The thread pool running those tasks can pick up a
duplicate preload task for the same Module. The mutex used by the Module
is recursive, so the thread starts the task again, enters the same
`std::call_once` and deadlocks.

Preloading only needs to happen once: it does work taht a later lookup
would do anyway. If it's already in progress, skip it. This deduplicate
the task that causes the deadlock.

At desk, this fixes a timeout in
`api/multiple-targets/TestMultipleTargets.py`, roughly 1/40 runs. To
reproduce the issue, I shrunk the thread pool to 2 threads, which makes
it always timeout.
https://invent.kde.org/qt/clang/llvm/-/commit/9621bedd8a7a09c5e48a12697ff2d0463067e341

Git commit dcce9de575fdb9f652f38c2ba1b62f4a4da66515 by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 09:55..
AMDGPU: Give v_cvt_sr_pk_bf16_f32 its own subtarget feature (#213150)

v_cvt_sr_pk_bf16_f32 was gated on bf16-cvt-insts, but that feature is
also present on gfx950 where the (non-sr) v_cvt_pk_bf16_f32 was first
added. The stochastic-rounding v_cvt_sr_pk_bf16_f32 was only added
for gfx1250 and has no gfx950 encoding, so it would mis-select and
later hit the "Invalid opcode" assert. Introduce
cvt-sr-pk-bf16-f32-inst, currently added to gfx13 and 125*

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

Git commit 275365f4f94a6e66b933d3d62cb62ac081daa3a9 by GitHub (on behalf of Petar Avramovic) on 31/07/2026 at 10:00..
GlobalISel: Fix lowerMergeValues when dst type is float (#212795)

Lowering is done in the integer domain. Similar to the type
mismatch when dst is a pointer, make a bitcast when dst is float.
https://invent.kde.org/qt/clang/llvm/-/commit/275365f4f94a6e66b933d3d62cb62ac081daa3a9

Git commit 81a8451de62458a29dd5cef6d0c52d0a6271ca30 by GitHub (on behalf of yingopq) on 31/07/2026 at 10:02..
[Mips] Fix $gp was restored when used as global register variable (#201778)

The function `eliminateDeadMI` would check `if (MRI.isReserved(Reg))`,
now we only set GP to reserved when `!Subtarget.isABICalls()`. So
`eliminateDeadMI` delete the `move $gp, $4`. And we would restore $gp
after instr selection through `$gp_64 = LD $sp_64, 8`.

Check the module metadata `llvm.named.register.$28` to detect if $28 is
used as global register. Then append new conditon when set $gp to
reserverd status and return CalleeSavedRegs without $gp.

Fix #176546.
https://invent.kde.org/qt/clang/llvm/-/commit/81a8451de62458a29dd5cef6d0c52d0a6271ca30

Git commit ea56c331a6afe1334eb3ce3b1bf9974079fb79c3 by GitHub (on behalf of Pengcheng Wang) on 31/07/2026 at 10:14..
[MachineLICM] Use `RegisterClassInfo::getRegPressureSetLimit` (#211715)

This recommits #119826, which taught `MachineLICM` to use
`RegisterClassInfo` when computing register pressure limits so
reserved registers are accounted for (#118787).

The original change was reverted by eeac0ff because it increased
compile time by causing repeated `RegisterClassInfo` computations.

This PR is based on #210826, in which `MachineRegisterClassInfo`
analysis pass was added. `MachineRegisterClassInfo` is required
by `MachineLICM` now, but the intervening machine passes that do
not affect `RegisterClassInfo` now preserve it, so the analysis
is reused instead of recomputed.

Assisted-by: TRAE CLI (GPT-5.5)
https://invent.kde.org/qt/clang/llvm/-/commit/ea56c331a6afe1334eb3ce3b1bf9974079fb79c3

Git commit 81f89bb526ce322cb4c29196e3c29472bad32e65 by GitHub (on behalf of Paul Walker) on 31/07/2026 at 10:27..
[LLVM][CodeGen][SVE] Use pairwise instruction for partial_reduce_[s/u]mla. (#212772)
https://invent.kde.org/qt/clang/llvm/-/commit/81f89bb526ce322cb4c29196e3c29472bad32e65

Git commit 136347be7aac1614000a9072d794d91ca16aa4f1 by GitHub (on behalf of Manasij Mukherjee) on 31/07/2026 at 10:36..
[TableGen] Speed up intrinsic lookups with DenseMap (NFC) (#213198)

Store in DenseMap, avoids linear lookups.
Speeds up NVPTX -gen-dag-isel and -gen-instr-info by 10%.
RISCV shows similar gains.
Neutral or marginally beneficial for other targets.
https://invent.kde.org/qt/clang/llvm/-/commit/136347be7aac1614000a9072d794d91ca16aa4f1

Git commit 8db13de265a5f12d49147930da6d16a3ad7b40e3 by GitHub (on behalf of Luke Lau) on 31/07/2026 at 10:55..
[VPlan] Remove redundant x && (y && x) -> x && y combine (#213219)

It can be subsumed by making the combine above commutative. In theory
this isn't NFC as it changes the order, in practice it doesn't make a
difference.
https://invent.kde.org/qt/clang/llvm/-/commit/8db13de265a5f12d49147930da6d16a3ad7b40e3

Git commit 6ebd9e1a12235fdc42e3e7b157678e6711af9c62 by GitHub (on behalf of Lang Hames) on 31/07/2026 at 11:06..
[ORC] Add VoidVoid and IntVoid Callers, with tests. (#213211)

Add rt::VoidVoidCaller (void()) and rt::IntVoidCaller (int64_t())
runtime-agnostic interfaces and their rt::sps implementations, targeting
the orc_rt_ci_sps_call_void_void and orc_rt_ci_sps_call_int_void
controller-interface wrappers. Both are experimental and may be removed.

Extend SPSCallersTest to cover the new callers. VoidVoidCaller is the
first caller instantiated with a void result type, which exposed a
latent bug in sps::Caller::callAsync: its result handler declared a
CalleeRetT parameter, ill-formed when CalleeRetT is void. It now
special-cases void via `if constexpr`.
https://invent.kde.org/qt/clang/llvm/-/commit/6ebd9e1a12235fdc42e3e7b157678e6711af9c62
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.