[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/main'.
Changed from 806935948ba3532ba559d614f97cc7688d9cb2ee to 0af5e8419f4bb6c830f3e2ec4b640830ea63a8b0
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 e1f93b045410f3872d3524d91d71ba5eceda0030 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 05:28..
MSP430: Mark more generic libgcc functions as available (#212927)

The generic soft-float, conversion, comparison and integer helper
routines (__addsf3, __divli's __divsi3, __ashlsi3, ...) exist in the
MSP430 libgcc port alongside the preferred __mspabi_* variants. They 
were previously removed to force selection of the __mspabi_* names, back 
when only one implementation per libcall could be recorded.

Stop hiding them: only __lshrsi3 stays excluded, since the MSP430 libgcc
port provides the 32-bit logical right shift solely under __mspabi_srll
and never defines a generic __lshrsi3.

Repost of #210962

Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/e1f93b045410f3872d3524d91d71ba5eceda0030

Git commit 7330a8ddc106483031a67d5a74215fc3e1509905 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 05:42..
AMDGPU: TableGen subarch to major subarch table (#212605)

Replace the hand-written AMDGPUMajorFamilies array with a
generated lookup table. Adds a special case for the major
arches missing a concrete generic target definition (we probably
should just define those to avoid this).

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

Git commit 26d08c22c68bbb9e644012c4e5cae32f68d897cb by GitHub (on behalf of saloni-shinde-Q) on 30/07/2026 at 05:53..
[RISCV][MC] Improve FPR Error Messages (#212492)

This patch improves the error messages for the following register classes:
    
   1. FPR RegClasses (FPR16, FPR32, FPR64, FPR128, FPR256)
   2. Compressed FPR RegClasses (FPR16C, FPR32C, FPR64C)
   3. GPR-as-FPR classes used by Zfinx/Zdinx extensions (GPRAsFPR16, GPRAsFPR32, GPRF64AsFPR, GPRPairAsFPR).

---------

Co-authored-by: Saloni Shinde <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/26d08c22c68bbb9e644012c4e5cae32f68d897cb

Git commit b42621f842571a92cec2961fa5c4fc518d4ca91a by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 06:50..
AMDGPU: TableGen the subarch to processor name mapping table (#212606)

Replace the hand-written AMDGPUSubArchNames array (SubArch -> canonical
GPU name) with a generated table.

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

Git commit 23a22244b099a9950a5f265460e392bc44beb3b4 by GitHub (on behalf of Pengcheng Wang) on 30/07/2026 at 06:50..
[RISCV][MC] Support experimental Zilx extension

This adds the MC support for `Zilx` (Indexed Integer Load Instructions)
extension.

Doc: https://github.com/riscv/riscv-zilx

Reviewers: topperc, tclin914, kito-cheng

Pull Request: https://github.com/llvm/llvm-project/pull/209419
https://invent.kde.org/qt/clang/llvm-project/-/commit/23a22244b099a9950a5f265460e392bc44beb3b4

Git commit 8a1ff7feefc5825cc10349b8946fe555f435d53b by GitHub (on behalf of Pengcheng Wang) on 30/07/2026 at 06:52..
[RISCV] Support CodeGen of Zilx extension

Thanks for `XTheadMemIdx` extension that makes life easier.

Reviewers: lukel97, topperc, kito-cheng, tclin914

Reviewed By: topperc

Pull Request: https://github.com/llvm/llvm-project/pull/209420
https://invent.kde.org/qt/clang/llvm-project/-/commit/8a1ff7feefc5825cc10349b8946fe555f435d53b

Git commit b84c5f4abcfb464e362bcd2b8eb58ef96ecbae9d by GitHub (on behalf of Fangrui Song) on 30/07/2026 at 07:16..
[BFI] Simplify/optimize getMass/getContainingLoop. NFC (#212938)

A block can head both a natural loop and the irreducible loop wrapping
it (`@crossloops` in BlockFrequencyInfo/irreducible.ll).

getContainingLoop and getMass unroll to a fixed depth of two through
isDoubleLoopHeader and isADoublePackage.  Depth two holds because
IrreducibleGraph::addEdge drops edges into the enclosing loop's headers,
keeping such a header out of any nested SCC.

(The old comment "If it's a node inside a packaged loop, it returns the
loop's mass." is wrong.)

Walk the Parent chain instead to drop the depth two assumption. Testing
`IsPackaged` before isHeader also skips the Nodes[0] load on the common
path.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b84c5f4abcfb464e362bcd2b8eb58ef96ecbae9d

Git commit de26036ecb4b450e5e1bdc49ee7101e3ce294bc4 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 07:36..
AMDGPU: Eliminate old macro driven processor name parsing (#212608)

Previously the generated inc file had a series of macros for use
with StringSwitch; now just directly scan the generated name table.

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

Git commit f08211e71e8fec39ff64facef84cb104ea8119e7 by GitHub (on behalf of Cullen Rhodes) on 30/07/2026 at 07:43..
[AArch64] Remove assembler-only register classes (#211527)

ZPRMul2, ZPRMul4 and PPRMul2 register classes are used solely by the asm
parser to validate other register classes (ZPR2Mul2, ZPR4Mul4,
PPR2Mul2). Since they're real register classes TableGen synthesizes
numerous intersection classes and pressure sets from them.

Removing them and validating the constraint directly in the assembly
parser reduces:

- generated register classes: 521 -> 403 (~22%)
- generated pressure sets: 188 -> 60 (68%)
- generated register-info size: 11.9 MB -> 9.1 MB (23%)

Also improves CTMark geomean -0.23% on stage1-aarch64-O3.

https://llvm-compile-time-tracker.com/compare.php?from=a90dbb43cd67856f681feba82d51a0d5fbcae3c2&to=5565d4907cdf960cc142a7507f16e551f51919b0&stat=instructions%3Au

Assisted-by: codex
https://invent.kde.org/qt/clang/llvm-project/-/commit/f08211e71e8fec39ff64facef84cb104ea8119e7

Git commit fc764a7c2b12c508c72e04a606dd2d2c815e2d94 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 07:55..
ARM: Mark more generic libgcc functions as available (#210961)

Generic libgcc/compiler-rt functions coexist with aeabi variants
(e.g., __divsi3  and __aeabi_idiv) according to my reading of the
build. At least in compiler-rt, some are aliases.

They were previously removed from the available set on AEABI+AAPCS
targets to force selection of the preferred __aeabi_* variants, back when
only one implementation per libcall could be recorded.

Now that multiple implementations can be available per libcall, stop
hiding the generics and select the __aeabi_* variant explicitly as the
preferred implementation. This reduces the number of special cases to 
consider for future libcalls info improvements.

Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/fc764a7c2b12c508c72e04a606dd2d2c815e2d94

Git commit 13e5ce40eff159ed9b2db3660b41c47ca640ce51 by GitHub (on behalf of Simon Pilgrim) on 30/07/2026 at 07:57..
[X86] Regenerate gather tests with missing VPADD constant asm comments (#212940)

Reduces diff in a future patch
https://invent.kde.org/qt/clang/llvm-project/-/commit/13e5ce40eff159ed9b2db3660b41c47ca640ce51

Git commit 70e39de33f37680281a98d12d4003654929a802c by GitHub (on behalf of Simon Pilgrim) on 30/07/2026 at 08:06..
[X86] vec_int_to_fp.ll - regenerate tests with missing VPADD constant asm comments (#212941)

Reduces diff in a future patch
https://invent.kde.org/qt/clang/llvm-project/-/commit/70e39de33f37680281a98d12d4003654929a802c

Git commit 07897c2bde598dc4c42b159472bbb70057f3388b by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 08:22..
AMDGPU: TableGen the subarch triple name table (#212627)

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

Git commit 2b45696fcafc0c92ea0ad73483b1e175c97c834a by GitHub (on behalf of yingopq) on 30/07/2026 at 08:23..
[Mips] Fix Clang crashes when assembling MIPS div/rem with register-name symbol as divisor (#200354)

Add check before getimm().

Fix #185363.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2b45696fcafc0c92ea0ad73483b1e175c97c834a

Git commit cb8513d5a5b8d7ad52b9903f6a46fbe603298468 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 08:28..
CSKY: Avoid constructing a temporary CSKYSubtarget in AsmPrinter (#212944)

This was reconstructing a subtarget equivalent to the global
subtarget instead of just using the available one.
https://invent.kde.org/qt/clang/llvm-project/-/commit/cb8513d5a5b8d7ad52b9903f6a46fbe603298468

Git commit 60074081ea925868392d4256a5578ffd6f88db42 by GitHub (on behalf of LiqinWeng) on 30/07/2026 at 08:32..
[RISCV] Split and rename WriteVSlideI/WriteVISlide1X/WriteVFSlide1F (#212184)

Split each of these SchedWrites into separate slide-up and slide-down
variants:
  - WriteVSlideI     -> WriteVSlideUpI, WriteVSlideDownI
  - WriteVISlide1X   -> WriteVISlide1Up, WriteVISlide1Down
  - WriteVFSlide1F   -> WriteVFSlide1Up, WriteVFSlide1Down

SpacemiT X100 and A100 have different latencies and/or throughput for
slide up vs. slide down operations, so they need separate SchedWrites to
model that difference.
https://invent.kde.org/qt/clang/llvm-project/-/commit/60074081ea925868392d4256a5578ffd6f88db42

Git commit 46919d267fd440dc3a82672e188b57fc441deafb by GitHub (on behalf of Sameer Sahasrabuddhe) on 30/07/2026 at 08:35..
[Docs][AMDGPU] Explain completion of async operations (#212756)

This improves the somewhat hand-wavey "memory model" currently described
for async operations. While this version is also not complete, it
prepares for the more complete memory model being written down.
https://invent.kde.org/qt/clang/llvm-project/-/commit/46919d267fd440dc3a82672e188b57fc441deafb

Git commit 27c735597e2c8251b271e93b8a00a1cc27a65d76 by GitHub (on behalf of Arseniy Obolenskiy) on 30/07/2026 at 08:41..
[NFC][mlir][SPIR-V] Use Subgroup scope in GroupNonUniform tests (#212928)

After https://github.com/KhronosGroup/SPIRV-Tools/pull/6811 spirv-val
rejects Workgroup scope on these ops
https://invent.kde.org/qt/clang/llvm-project/-/commit/27c735597e2c8251b271e93b8a00a1cc27a65d76

Git commit ef7f2f611993a4bc59e181d2bf8fc6269d7e1c7d by GitHub (on behalf of Pengcheng Wang) on 30/07/2026 at 08:44..
[RISCV] Fix crash in convertToVLMAX when AVL is an ADDI of a frame index (#212923)

`getConstant()` recognizes an AVL that is an immediate by checking
the opcode is `ADDI`, then reading the second operand and checking
if it is `X0`. However the second operand may be a frame index and
`getReg()` asserts with "This is not a register operand!".

We should guard the register access with `isReg()` before comparing
against `X0`.

Fixes #212797.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ef7f2f611993a4bc59e181d2bf8fc6269d7e1c7d

Git commit 9aee37146dc374f3668bef37e3e15c29abb1a1e0 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 08:49..
IR: Introduce "float-abi" module flag (#210821)

This is intended to eliminate the FloatABIType TargetOptions field.

Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/9aee37146dc374f3668bef37e3e15c29abb1a1e0

Git commit ddb662d3cbadb7c2c96cc2c00f95a3a5562d5b06 by GitHub (on behalf of Anutosh Bhat) on 30/07/2026 at 08:56..
[WebAssembly][TTI] Avoid crash when costing scalable vector shifts (#212759)

I see the following 

```
 anutosh491@Anutoshs-MacBook-Air llvm-project % cat /private/tmp/wasm-scalable-shift-cost.ll
define <vscale x 4 x i32> @shift(<vscale x 4 x i32> %x,
                                 <vscale x 4 x i32> %amount) {
  %result = shl <vscale x 4 x i32> %x, %amount
  ret <vscale x 4 x i32> %result
}


 anutosh491@Anutoshs-MacBook-Air llvm-project % build-assert/bin/opt \
  -mtriple=wasm32-unknown-unknown \
  -mattr=+simd128 \
  -passes='print<cost-model>' \
  -disable-output \
  /private/tmp/wasm-scalable-shift-cost.ll
Printing analysis 'Cost Model Analysis' for function 'shift':
Cost Model: Assertion failed: (isa<To>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file Casting.h, line 572.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
Stack dump:
0.      Program arguments: build-assert/bin/opt -mtriple=wasm32-unknown-unknown -mattr=+simd128 -passes=print<cost-model> -disable-output /private/tmp/wasm-scalable-shift-cost.ll
1.      Running pass "function(print<cost-model>)" on module "/private/tmp/wasm-scalable-shift-cost.ll"
2.      Running pass "print<cost-model>" on function "shift"
 #0 0x0000000105b7a56c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102f6256c)
 #1 0x0000000105b78248 llvm::sys::RunSignalHandlers() (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102f60248)
 #2 0x0000000105b7b170 SignalHandler(int, __siginfo*, void*) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102f63170)
 #3 0x000000018b5f7744 (/usr/lib/system/libsystem_platform.dylib+0x1804fb744)
 #4 0x000000018b5ed8d8 (/usr/lib/system/libsystem_pthread.dylib+0x1804f18d8)
 #5 0x000000018b4f4644 (/usr/lib/system/libsystem_c.dylib+0x1803f8644)
 #6 0x000000018b4f38a0 (/usr/lib/system/libsystem_c.dylib+0x1803f78a0)
 #7 0x0000000104036ddc llvm::BasicTTIImplBase<llvm::WebAssemblyTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::TargetCostKind, llvm::TargetTransformInfo::OperandValueInfo, llvm::TargetTransformInfo::OperandValueInfo, llvm::ArrayRef<llvm::Value const*>, llvm::Instruction const*) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10141eddc)
 #8 0x000000010403b0ac llvm::TargetTransformInfoImplCRTPBase<llvm::WebAssemblyTTIImpl>::getInstructionCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>, llvm::TargetTransformInfo::TargetCostKind) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x1014230ac)
 #9 0x00000001049162c8 llvm::TargetTransformInfo::getInstructionCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>, llvm::TargetTransformInfo::TargetCostKind) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x101cfe2c8)
#10 0x00000001058d90b4 llvm::TargetTransformInfo::getInstructionCost(llvm::User const*, llvm::TargetTransformInfo::TargetCostKind) const (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102cc10b4)
#11 0x000000010468a368 getCost(llvm::Instruction&, llvm::TargetTransformInfo::TargetCostKind, llvm::TargetTransformInfo&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x101a72368)
#12 0x0000000104689dd4 llvm::CostModelPrinterPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x101a71dd4)
#13 0x0000000105186554 llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10256e554)
#14 0x000000010518a680 llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x102572680)
#15 0x0000000105185418 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10256d418)
#16 0x0000000106127cb0 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::__1::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool, bool) (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x10350fcb0)
#17 0x0000000106131eac optMain (/Users/anutosh491/work/llvm-project/build-assert/bin/opt+0x103519eac)
#18 0x000000018b22fe00
zsh: abort      build-assert/bin/opt -mtriple=wasm32-unknown-unknown -mattr=+simd128 
```
https://invent.kde.org/qt/clang/llvm-project/-/commit/ddb662d3cbadb7c2c96cc2c00f95a3a5562d5b06

Git commit 98146752c8a6a7b3b3af1f0820f2f530aee5b925 by GitHub (on behalf of Kirill A. Korinsky) on 30/07/2026 at 09:07..
[SPARC] Support the .seg directive (#209001)

Support the legacy .seg directive used by SunOS SPARC assembly. Map
"text", "data", "data1", and "bss" to their corresponding MC sections,
using subsection 1 for "data1".
https://invent.kde.org/qt/clang/llvm-project/-/commit/98146752c8a6a7b3b3af1f0820f2f530aee5b925

Git commit 506d70de59b3d37f65757d7694cd3618ed50afee by GitHub (on behalf of Fangrui Song) on 30/07/2026 at 09:08..
[BFI] Compute the minimum frequency only when dumping. NFC (#212957)
https://invent.kde.org/qt/clang/llvm-project/-/commit/506d70de59b3d37f65757d7694cd3618ed50afee

Git commit 6ddd80af0bfbc1927f8bb2935120f6f4cedadc9a by GitHub (on behalf of Yao Qi) on 30/07/2026 at 09:10..
[lldb] Fix stale L1 memory cache read after memory write (#208347)

A `memory write` can leave stale bytes in the L1 memory cache, so a later
`memory read` of the address that was just written returns the old value.

The L1 cache (`m_L1_cache`) is a map keyed by each chunk's start address, and
chunks can overlap: a read larger than an L2 cache line
(`target.memory-cache-line-size`, 512 by default) bypasses L2 and is stored
whole in L1, so two large reads can produce two chunks that both cover the same
address.

`Flush()` invalidates the L1 cache on a write. It started at the chunk at or
below the flushed address and walked forward, stopping at the first chunk that
did not intersect. It therefore never inspected a chunk that starts below the
flushed address but is long enough to reach into it, leaving that chunk behind
with the stale byte. A later read fully contained in that chunk is served from
the cache and returns the old value.

Fix `Flush()` to walk the whole L1 cache and erase every chunk that intersects
the flushed range, so a chunk starting below the address is dropped too.
Lookups (`FindL1CacheEntry()`) and inserts (`AddL1CacheData()`) are unaffected:
a lookup that lands on the wrong overlapping chunk simply misses and falls
through to L2 or the inferior, which is not a correctness problem.

Add a unit test covering partial overlaps, containment, disjoint and adjacent
chunks, and a flush that must drop a lower-starting chunk as well as several
overlapping chunks.
https://invent.kde.org/qt/clang/llvm-project/-/commit/6ddd80af0bfbc1927f8bb2935120f6f4cedadc9a

Git commit c27b35739d5eaf3e214f639fded1515d72884027 by GitHub (on behalf of Nikolas Klauser) on 30/07/2026 at 09:17..
[libc++] Remove SFINAE checks in tuple which are always true (#212765)

We have a specialization for `tuple` with no arguments, so checking
`sizeof...(_Tp) >= 1` in the primary template will never be false.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c27b35739d5eaf3e214f639fded1515d72884027

Git commit 98cdcbae7714396a1d7b4865d0ade80e6450d445 by GitHub (on behalf of Nikolas Klauser) on 30/07/2026 at 09:17..
[libc++] Move numpunct into <__locale_dir/num.h> (#212465)

`numpunct` is part of the `num` family of facets, so it should live in
`num.h`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/98cdcbae7714396a1d7b4865d0ade80e6450d445

Git commit d3ca4e5011078f04eb974edcfaa00a7c052e3510 by GitHub (on behalf of Nikolas Klauser) on 30/07/2026 at 09:19..
[libc++][NFC] Rename the streambuf members (#212277)

This refactors `streambuf` to contain a `_GetArea` and a `_PutArea`.
This makes the code significantly easier to read, since the pointers
belonging together are bundled in a struct.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d3ca4e5011078f04eb974edcfaa00a7c052e3510

Git commit ab7bbbbdc7bc0d7813d084898a8f913ca0b40fff by GitHub (on behalf of jeanPerier) on 30/07/2026 at 09:34..
[flang][AllocationPlacement] prevent promotion of mock result to allocmem (#212825)

Under the new experimental pass that can move automatic arrays to the
heap, "mock" result storage may be promoted to allocmem before
AbstractResult removes them and replace them by a hidden result.

Add a fir.must_be_stack attribute to these mock alloca so they are never
promoted. So that passes dealing with array function results ABI can
expect to find an fir.alloca and remove it.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ab7bbbbdc7bc0d7813d084898a8f913ca0b40fff

Git commit 185a931f4b6eb8347cde3346a963541af4bb9b32 by GitHub (on behalf of Balázs Benics) on 30/07/2026 at 09:44..
Reapply "[analyzer] Fix false positive in strchr/strrchr with constant args" (#212124)

Relands #210154
https://invent.kde.org/qt/clang/llvm-project/-/commit/185a931f4b6eb8347cde3346a963541af4bb9b32

Git commit 840558c5ff53a95efbed5fafacc8fb3b6c377fec by GitHub (on behalf of Florian Hahn) on 30/07/2026 at 09:49..
[LV] Only use legacy scalarization costs with replicate regions. (#212738)

The scalarization costs in InstsToScalarize are based on the assumption
that the instructions are scalarized and predicated. There are a number
of VPlan transformations that can simplify/remove replicate regions. If
there are no replicate regions in a plan, nothing is predicated and
scalarized, so the costs in InstsToScalarize will be inaccurate.

Skip the fallback in those cases, using the more accurate VPlan-based
cost info.

PR: https://github.com/llvm/llvm-project/pull/212738
https://invent.kde.org/qt/clang/llvm-project/-/commit/840558c5ff53a95efbed5fafacc8fb3b6c377fec

Git commit 2f7a0da7ba3d1de5311118d60e685432238d4e72 by GitHub (on behalf of David Spickett) on 30/07/2026 at 09:50..
[lldb][test] Fix TestMinidumpSizeOfImage.py with glibc >= 2.41 (#212972)

Test added by #188363.

In glibc 2.41:
> * dlopen and dlmopen no longer make the stack executable if a shared
> library requires it, either implicitly because of a missing GNU_STACK
> ELF header (and default ABI permission having the executable bit set)
>   or explicitly because of the executable bit in GNU_STACK, and the
>   stack is not already executable.  Instead, loading such objects will
>   fail.

https://lists.gnu.org/archive/html/info-gnu/2025-01/msg00014.html

The test program used for this test provides all the PHDRS itself, but
did not include a PT_GNU_STACK entry.

So the loader would assume it wanted exectuable stack. The main program
was not using an executable stack and so the loader refused to change
that, so loading the object fails.

dlopen failed:
lldb-test-build/functionalities/process_save_core_minidump_size_of_image/TestMinidumpSizeOfImage/libtestlib.so:
cannot enable executable stack as shared object requires: Invalid
argument

To fix this provide a PT_GNU_STACK with value 6 aka read and write but
not execute.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2f7a0da7ba3d1de5311118d60e685432238d4e72

Git commit 8212d301fd86709c7965bbeb1d6964bb06c0341c by GitHub (on behalf of Sameer Sahasrabuddhe) on 30/07/2026 at 10:03..
[Docs][AMDGPU] availability/visibility in addrspace(3) and other cleanups (#212707)

addrspace(3) on AMDGPU corresponds to LDS, which is a fast memory directly
accessed by all threads in a workgroup (there is no intervening cache). Thus,
any accesses to this addrspace have built-in availability and visibility at
"workgroup" scope.

Other cleanups:
- Update the intrinsic names to match the implementation.
- Explain store-available and load-visible.
- Rename to "make-available" and "make-visible" for consistent spelling.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8212d301fd86709c7965bbeb1d6964bb06c0341c

Git commit e477a9950ed219a02f4b33b35c4bee24f4c87b00 by GitHub (on behalf of michaelselehov) on 30/07/2026 at 10:14..
[AMDGPU] Re-fold masked hi16 pack into v_or_b32_sdwa (#210735)

Follow-up to #206058, which selects the (hi << 16) | (z & 0xffff)
high-half pack to a fused v_lshl_or_b32. When z's high bits are not
known zero this needs an explicit v_and_b32 0xffff, and since
v_lshl_or_b32 has no SDWA form the mask can no longer fold into a single
v_or_b32_sdwa (src1_sel:WORD_0) as it did before -- a small but real
perf hole (~5% on a VALU-bound char4 kernel on gfx942).

Add a SIPeepholeSDWA rewrite of the masked pack back into v_lshlrev_b32
+ v_or_b32_sdwa, erasing the dead v_and. It fires only on the masked
form, so the mask-free #206058 win is preserved, and it never increases
the instruction count.

Assisted-by: Claude Opus
https://invent.kde.org/qt/clang/llvm-project/-/commit/e477a9950ed219a02f4b33b35c4bee24f4c87b00

Git commit ba371791db4f9e7ef05f0a1c26529298b2951a4b by GitHub (on behalf of Lang Hames) on 30/07/2026 at 10:16..
[ORC] Add rt::sps::MainCaller for running main-like functions. (#212948)

rt::MainCaller is a controller-side interface for running functions with
a main-like signature (int(int argc, char *argv[])) in the executor.
rt::sps::MainCaller is rt::MainCaller's first implementation, which
invokes main functions using on ORC runtime's orc_rt_ci_sps_call_main
entrypoint (using Simple Packed Serialization for argument/return
encoding / decoding).

These utilities live under the ExecutionEngine/Orc/RTBridge directory,
which is intended to hold controller-side utilities for invoking ORC
runtime systems. Subdirectories (e.g. SPS) hold implementations for
specific serialization schemes.

Adds SPSCallersTest with coverage for direct construction, the
synchronous and asynchronous call operators, use through the
rt::MainCaller interface, and the Create / bootstrap-JITDylib lookup
path.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ba371791db4f9e7ef05f0a1c26529298b2951a4b

Git commit 18a49751d365d25e2f87a1a418bb5dae6592a0c1 by GitHub (on behalf of Kieran B) on 30/07/2026 at 10:20..
[AArch64][SelectionDAG] Avoid cross-bank copy for NEON vcvtfp2fx result (#210275)

- Add SelectionDAG-only patterns for NEON vcvtfp2fx so integer result
select GPR instead of FPR, avoiding the need for cross-bank copies.
- Bitcast uses still select the FP/SIMD-register forms where available.
- Add testing for GPR-resulting and FPR-resulting patterns.
- Add missing tests in fp16_intrinsic_scalar_2op.ll:
test_vcvth_n_u64_f16_1 and test_vcvth_n_u64_f16_16.

A follow-up patch will also include the fix for GlobalIsel.
https://invent.kde.org/qt/clang/llvm-project/-/commit/18a49751d365d25e2f87a1a418bb5dae6592a0c1

Git commit 59691a1f7c907cc492a62ebded8521535974d25a by GitHub (on behalf of Paul Walker) on 30/07/2026 at 10:22..
[LLVM][InstCombine] Add simplification of SVE compare intrinsics. (#211249)

Extends SVEIntrinsicInfo to accept LLVM IR compare information, which is
then used to call simplifyCmpInst on the data operands of SVE compare
intrinsic calls.
https://invent.kde.org/qt/clang/llvm-project/-/commit/59691a1f7c907cc492a62ebded8521535974d25a

Git commit c6fc14273b9a0b30c7497182b933f580ac11b5f7 by GitHub (on behalf of Paul Walker) on 30/07/2026 at 10:31..
[LLVM][CodeGen][SVE] Add isel patterns for add/sub where the second operand is promoted. (#212771)
https://invent.kde.org/qt/clang/llvm-project/-/commit/c6fc14273b9a0b30c7497182b933f580ac11b5f7

Git commit 0a1c936ef1427699f72a107f701aa79a92d313e8 by GitHub (on behalf of Luke Lau) on 30/07/2026 at 10:45..
[VPlan] Mark ComputeReductionResult as not reading or writing from memory (#212982)

Enables some DCE
https://invent.kde.org/qt/clang/llvm-project/-/commit/0a1c936ef1427699f72a107f701aa79a92d313e8

Git commit f8c1d988e169ee9cd97e514efd07bb90d20ad6db by GitHub (on behalf of Luke Hutton) on 30/07/2026 at 10:47..
[mlir][tosa] Remove availability interfaces from profile conformance (#207809)

This commit removes the "QueryProfileInterface" and
"QueryExtensionInterface" as they are superfluous in most cases, with
TosaComplianceData.h.inc already providing much of the data we need.
Removing these also helps prevent mistakes as observed in:
https://github.com/llvm/llvm-project/pull/206687

This commit removes these interfaces and updates the profile conformance
to extract supported profile/extension information from
TosaComplianceData.h.inc instead.

One factor that isn't duplicated is operations that rely on extensions,
but do not declare any data type support. This is a small set of
operations, such as tosa.custom, tosa.cond_if, tosa.while_loop and
tosa.const_shape, and we can add them to the TosaComplianceData.h.inc
file as needed.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f8c1d988e169ee9cd97e514efd07bb90d20ad6db

Git commit 9e1630622de397a3c8d284d15ce25ee62a00b406 by GitHub (on behalf of Nico Weber) on 30/07/2026 at 10:56..
[gn build] Port ba371791db4f (#212996)
https://invent.kde.org/qt/clang/llvm-project/-/commit/9e1630622de397a3c8d284d15ce25ee62a00b406

Git commit a19d7a1c779c05f727ea5d55cd0434bbd39d179b by GitHub (on behalf of Nico Weber) on 30/07/2026 at 10:56..
[gn build] Port 7ded638ea33b (#212995)
https://invent.kde.org/qt/clang/llvm-project/-/commit/a19d7a1c779c05f727ea5d55cd0434bbd39d179b

Git commit 0af5e8419f4bb6c830f3e2ec4b640830ea63a8b0 by GitHub (on behalf of Charles Zablit) on 30/07/2026 at 10:58..
[lldb] Fix C++ expression evaluation with the MS C++ ABI (#212521)

IRForTarget didn't correctly handle the Microsoft C++ ABI when preparing
JIT'd expressions:

- `CreateResultVariable` could match a compiler generated dynamic
initializer function instead of the result variable, since both share
the same mangled substring under the MS ABI.
- `RemoveCXAAtExit` only stripped `__cxa_atexit` calls (Itanium ABI). On
the MS ABI, static destructors are registered via plain `atexit`.

Example:

```cpp
struct Foo {
    Foo() : x(42) {}
    ~Foo() {}
    int x;
};

void bar() {
    static Foo f;
    // <breakpoint here>
}
```

Evaluating `f.x` at the breakpoint on Windows previously could resolve
against the wrong symbol or crash, because the MS-ABI-specific dynamic
initializer function and atexit-registered destructor thunk weren't
accounted for.

Changes

- Restrict result variable lookup to GlobalVariables, so the dynamic
initializer function is skipped.
- Strip `atexit` registrations in addition to `__cxa_atexit`.
- Clear the body of any atexit destructor thunk.

This is needed for:
- https://github.com/swiftlang/llvm-project/pull/13517
https://invent.kde.org/qt/clang/llvm-project/-/commit/0af5e8419f4bb6c830f3e2ec4b640830ea63a8b0
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.