[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/qiongsiwu/eng_167034309_pr3_ciwc_standalone_init'.
Changed from f0f0dacf6f833f2cd057fc03330a690ca191815d to f32c63745818ac03c37d358a2893228967b98d37
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 6a932c6041a58a1c352ea65c94810a13d3b453d0 by GitHub (on behalf of janr-bay) on 30/07/2026 at 11:25..
[APFloat][NFC] Generalize bitcast to also cover x87 semantics (#209781)

This removes the special case code for bitcasting APInt to a float with
x87 semantics in convertF80LongDoubleAPFloatToAPInt. This makes it
consistent with previous removal of special cases and will remove one
more small obstacle to making APFloat extensible.
https://invent.kde.org/qt/clang/llvm-project/-/commit/6a932c6041a58a1c352ea65c94810a13d3b453d0

Git commit fcf4bb1af7450f618504201610ef8c3ef52844d7 by GitHub (on behalf of Tomer Shafir) on 30/07/2026 at 11:32..
[AArch64] Relax SDep requirement for AppleSMECompute clustering      (#212603)

Do not require RAW dependency for FuseAppleSMECompute.
https://invent.kde.org/qt/clang/llvm-project/-/commit/fcf4bb1af7450f618504201610ef8c3ef52844d7

Git commit 8aeb59eab5eb0bc516628fa42e7698f23eb3f6d5 by GitHub (on behalf of Alexey Bataev) on 30/07/2026 at 11:55..
[SLP][NFC]Add extra tests for fadd/fsub reordering, NFC



Reviewers: 

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

Git commit 3a687d3b86c44821ae2a013fe3d9f5bf88a471a9 by GitHub (on behalf of Louis Dionne) on 30/07/2026 at 11:57..
[libc++] Fix incorrect paper statuses (#212827)

These two papers also added parallel algorithm overloads, which were
never implemented but the papers were still marked as implemented. Mark
the papers as Partial instead.

CF #103640 and #104095
https://invent.kde.org/qt/clang/llvm-project/-/commit/3a687d3b86c44821ae2a013fe3d9f5bf88a471a9

Git commit a8cc3d25922b689508dc63487525c73bc2747585 by GitHub (on behalf of Nikolas Klauser) on 30/07/2026 at 12:05..
[libc++] Clean up windows macros (#207577)

We have multiple macros for different Windows. However, most of them
don't actually define different things. We can condense the macros to
- `_WIN32` directly if it only depends on windows, or
- `_LIBCPP_MSVCRT`

This patch drops `_LIBCPP_MSVCRT_LIKE` and `_LIBCPP_WIN32API`, since
they are equivalent to `_WIN32`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a8cc3d25922b689508dc63487525c73bc2747585

Git commit e7b04d7b58941cc9173930871a18d149f0b8a432 by GitHub (on behalf of Nikolas Klauser) on 30/07/2026 at 12:10..
[libc++abi] Use the same .clang-format as libc++ (#208661)

libc++abi is very close to libc++, and even shares some amount of code.
We should keep the formatting style the same between the two libraries.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e7b04d7b58941cc9173930871a18d149f0b8a432

Git commit 7b463ebd0d5b23a5efc9ffba1363593e6c6745fb by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 12:15..
clang/AMDGPU: Forward xnack/sramecc mode to the assembler (#212955)

When assembling a .s file with no target ID directive, the requested
xnack/sramecc mode has no module flag to carry it. Forward the mode
requested via -mxnack/-msramecc (or the -mcpu target ID modifiers) to
the assembler as a target feature so it is recorded in the object's e_flags.

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

Git commit 76140a666d18b940597bf73362d4101af0247ea6 by GitHub (on behalf of Nikolas Klauser) on 30/07/2026 at 12:15..
[libc++] Switch XFAIL in xsgetn.buffer.pass.cpp to LLVM 23 (#212969)

We want to back-port the fix for xsgetn, so the XFAIL needs to be
updated to reflect that.
https://invent.kde.org/qt/clang/llvm-project/-/commit/76140a666d18b940597bf73362d4101af0247ea6

Git commit c9c03ed3991035591d2a4529f323ed9e5e345221 by GitHub (on behalf of Alexey Bataev) on 30/07/2026 at 12:19..
[SLP]Fix a crash on non-fp operator isFast request

isFast should be used only on FPMathOperator kind instructons.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213008
https://invent.kde.org/qt/clang/llvm-project/-/commit/c9c03ed3991035591d2a4529f323ed9e5e345221

Git commit 424d5a7cb36fb4770f4436762b636ded1e035bb0 by GitHub (on behalf of fineg74) on 30/07/2026 at 12:29..
[OFFLOAD] Fix a platform selection issue for llvm-gpu-loader (#212893)

Currently if an image supplied to llvm-gpu-loader is not properly
detected by its platform detection logic it does not accept it for
execution. The example could be a spirv or bitcode format. This fix
allows it to rely on devices to device if an image will be accepted and
uses its existing platform detection logic as an optimization only
https://invent.kde.org/qt/clang/llvm-project/-/commit/424d5a7cb36fb4770f4436762b636ded1e035bb0

Git commit e9777c58be265687897e04c5d8013d7d6cb43571 by GitHub (on behalf of David Green) on 30/07/2026 at 12:31..
[AArch64] Add all cost kinds for integer getArithmeticInstrCost (#210759)

This adds all (CodeSize, Latency, LatSize) costs to
getArithmeticInstrCost integer operations, getting the cost more correct
especially for operations that expand into multiple instructions.
Floating point are left to another commit to limit the impact.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e9777c58be265687897e04c5d8013d7d6cb43571

Git commit dc6cd6a29a0831d1a4d607162a1dbd07b556143a by GitHub (on behalf of Benjamin Kramer) on 30/07/2026 at 12:32..
[mlir] Honor IntrHasSideEffects on IntrNoMem LLVM intrinsics (#212760)

`[IntrNoMem, IntrHasSideEffects]` is a perfectly valid intrinsic trait
combination, and MLIR would CSE/DCE those without checking. This mirrors
how LLVM models this, see getEffectiveME in IntrinsicEmitter.cpp
https://invent.kde.org/qt/clang/llvm-project/-/commit/dc6cd6a29a0831d1a4d607162a1dbd07b556143a

Git commit 9771205212d9802c9de142335fc8af3bc52a1d85 by GitHub (on behalf of Timm Baeder) on 30/07/2026 at 12:36..
[clang][bytecode] Add Record::findBase() (#212952)

Similar to findField().
https://invent.kde.org/qt/clang/llvm-project/-/commit/9771205212d9802c9de142335fc8af3bc52a1d85

Git commit a0c7f8366b8dbbfb25d294541ab9298851cfa65f by GitHub (on behalf of forking-google-bazel-bot[bot]) on 30/07/2026 at 12:37..
[Bazel] Fixes ba37179 (#212986)

This fixes ba371791db4f9e7ef05f0a1c26529298b2951a4b (#212948).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=ba371791db4f9e7ef05f0a1c26529298b2951a4b

Co-authored-by: Google Bazel Bot <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/a0c7f8366b8dbbfb25d294541ab9298851cfa65f

Git commit 6a898832ff382b1a288f9eb3bc5cd1f37d0fc29f by GitHub (on behalf of Arseniy Obolenskiy) on 30/07/2026 at 12:37..
[AMDGPU] Fix getDestEquivalentVGPRClass narrowing AV-class registers (#212963)

isVGPRClass() rejects AV-class registers, so they were narrowed to
VGPR-only instead of preserved. Same reasoning behind the fix as in
SIPreAllocateWWMRegs (see
https://github.com/llvm/llvm-project/pull/211560)
https://invent.kde.org/qt/clang/llvm-project/-/commit/6a898832ff382b1a288f9eb3bc5cd1f37d0fc29f

Git commit 8b36461fb271df4484a375c4b80800fcc8ef8e91 by GitHub (on behalf of Ebuka Ezike) on 30/07/2026 at 12:50..
[lldb-dap] Mirgate TestDAP_evaluate. (#212282)

rewrite the `assertEvaluate` and `assertEvaluateFailure` helpers to use
the already existing `session.verify_evaluate` function. THe helpers are
now inlined functions.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8b36461fb271df4484a375c4b80800fcc8ef8e91

Git commit 179ef900e31ef3b0dfbe762acfa0299551933c8e by GitHub (on behalf of Marc Auberer) on 30/07/2026 at 12:57..
[CodeGen] Remove deprecated createTargetMachineForTriple overload (#212984)

This overload was deprecated in favor of the Triple overload and marked
for removal after llvm 23 branched. All in-tree callers already use the
Triple overload.

Co-authored-by: Claude <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/179ef900e31ef3b0dfbe762acfa0299551933c8e

Git commit 289a4568f7d18d1d42687f3a2fc2c72bcbadaa28 by GitHub (on behalf of Marc Auberer) on 30/07/2026 at 12:58..
[ADT] Remove deprecated llvm::make_scope_exit (#212987)

Update remaining call sites in lldb to construct llvm::scope_exit
directly, per the deprecation notice.

---------

Co-authored-by: Claude <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/289a4568f7d18d1d42687f3a2fc2c72bcbadaa28

Git commit b11722f1d3bd5debac949fe366c1801d39b8a2bb by GitHub (on behalf of michaelselehov) on 30/07/2026 at 13:11..
[llvm-calc-occupancy] Add an AMDGPU occupancy calculator tool (#208727)

Add a command-line utility that reports the occupancy (waves/EU) an
AMDGPU kernel would reach for a given workgroup size, VGPR/SGPR usage
and LDS. It reuses the backend's own occupancy math, so the numbers
match the compiler. Includes a lit test and a CommandGuide man page.

Assisted-by: Claude Opus

---------

Co-authored-by: mselehov <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/b11722f1d3bd5debac949fe366c1801d39b8a2bb

Git commit 04536c4984206eb20d93355145f9f4e9a0f0d266 by GitHub (on behalf of Pradeep Kumar) on 30/07/2026 at 13:15..
[MLIR][APFloat] Add Type definitions for UE5M3 type (#212712)

This commit adds UE5M3 type definitions in MLIR based on the Float8E5M3FNU APFloat type
https://invent.kde.org/qt/clang/llvm-project/-/commit/04536c4984206eb20d93355145f9f4e9a0f0d266

Git commit 31d99ba9e29acbb466380224dbad09eb8cb115ed by GitHub (on behalf of Eugene Epshteyn) on 30/07/2026 at 13:38..
[flang] Delete the array-value-copy pass (#212643)

Since the removal of the legacy expression lowering (#210385, #210621,
#210639, #210873) nothing in flang produces the array-value operations
this pass legalizes, and #211816 already removed it from the default
pipeline. Delete the pass and the pieces that existed solely for it:

- ArrayValueCopy.cpp, its Passes.td definition,
createArrayValueCopyPass, and the (duplicated) CMake source entries.
- Optimizer/Builder/Factory.h in its entirety: the pass was its only
includer, and its contents (attrFortranArrayOffsets,
getExtents/getOrigins on shape values, originateIndices) have no other
users.
- The getTypeParams(fir::ArrayLoadOp) overload (sole caller was the
pass) and the ArrayLoadOp forward declaration in BoxValue.h.
- The pass LIT tests (array-value-copy*.fir, array-copies-pointers.fir,
array-modify.fir); stack-arrays-hlfir.f90 drops the --array-value-copy
stage from its RUN pipeline.
- The pass-describing paragraphs in fstack-arrays.md and the stale
ArrayValueCopy TODO entry in ParameterizedDerivedTypes.md.

The array-value operations themselves (fir.array_load and friends; not
fir.array_coor) remain in the dialect and will be deleted in a
follow-up.

Assisted-by: AI
https://invent.kde.org/qt/clang/llvm-project/-/commit/31d99ba9e29acbb466380224dbad09eb8cb115ed

Git commit 938d446f7c1caa33aed9fcfdf350419fe8fb1002 by GitHub (on behalf of Luke Lau) on 30/07/2026 at 13:38..
[Support] Don't bring PatternMatchHelpers into top-level scope. NFC (#213016)
https://invent.kde.org/qt/clang/llvm-project/-/commit/938d446f7c1caa33aed9fcfdf350419fe8fb1002

Git commit 6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f by GitHub (on behalf of Pavel Labath) on 30/07/2026 at 13:41..
[libc][cmake] Make hermetic tests support FLAGS (#212460)

Currently the tests skip themselves because this gets treated as a
(missing) dependency.

I also enable tests that were explicitly skipped with UNIT_TEST_ONLY.
Some of the FP tests are claiming to be failing on GPUs (in 2023). If
that is still true, I'll skip them with if(TARGET_IS_GPU).
https://invent.kde.org/qt/clang/llvm-project/-/commit/6e9a51c805878c03fe0813688bd8ad2ef9cb7c6f

Git commit cc623d6e991ffbcf85fe5b7bc637d9070eee0015 by GitHub (on behalf of Pavel Labath) on 30/07/2026 at 13:46..
[libc][test] Add EXPECT_STREQ and ASSERT_STREQ macros for integration tests (#212729)

Add EXPECT_STREQ and ASSERT_STREQ macros to IntegrationTest/test.h using
cpp::string_view. Note that, unlike the unit test macro (but like
googletest), this version treats NULL as distinct from "". The
inconsistency is unfortunate, but I think it's important as the code is
used for testing functions like getenv(), where "" and NULL have very
different meanings.

We should probably follow this up with a change to make the unit test
macro behave the same way.

Update integration tests to use the new macros instead of handrolled
string equality functions (my_streq), strcmp, inline_strcmp, or
string_view wrappers.
https://invent.kde.org/qt/clang/llvm-project/-/commit/cc623d6e991ffbcf85fe5b7bc637d9070eee0015

Git commit 3122acf9f49012f645ea45e741b81910333a77bc by GitHub (on behalf of Pavel Labath) on 30/07/2026 at 13:46..
[libc] Move test macro implementations out of the Test class (#212783)

This is useful for several reasons:
- it makes it possible to use the macros outside of the test methods,
aligning with googletest. Although this isn't recommended, the
alternatives are often not worth it.
- it makes it possible (with additional changes) to expose this
infrastructure to C_TESTs (which currently use the assert() macro, which
is a no-op in release mode)
- it makes it possible to add (and have assertions in) googletest style
SetUp/TearDownTestSuite functions.

I've converted the main assertion macros for now, to test the waters.
I'm planning to handle EXPECT/ASSERT_THAT and EXPECT/ASSERT_EXIT/DEATH
in a follow-up.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3122acf9f49012f645ea45e741b81910333a77bc

Git commit 44840ca0fa1c3cc32278a633dc4fd86c7605392d by GitHub (on behalf of Paul Walker) on 30/07/2026 at 13:47..
[NFC][LLVM] Cleanup Transforms/InstCombine/AArch64/sve-intrinsic-simplify-*.ll (#213012)
https://invent.kde.org/qt/clang/llvm-project/-/commit/44840ca0fa1c3cc32278a633dc4fd86c7605392d

Git commit 0c60c8ad15a0c4255f094bc799c80a683348109c by GitHub (on behalf of Diego Novillo) on 30/07/2026 at 13:47..
[SPIRV] Emit NonSemantic DebugTypedef (#211883)

This adds `DebugTypedef` emission to the SPIR-V
NonSemantic.Shader.DebugInfo handler.

`SPIRVNonSemanticDebugHandler` now collects `DIDerivedType` nodes tagged
`DW_TAG_typedef` and emits one `DebugTypedef` per node. The emitter
reuses the handler's type-id map and skips a typedef whose base type was
not emitted.

This one has similar limitations to the other type emitters (tracked in
#211850)

1. Typedefs are emitted in one `DebugInfoFinder`-order pass, so a
typedef whose base is another typedef emitted later in that pass is
dropped.
2. The Parent operand uses the enclosing type's id when the typedef's
scope is an emitted `DIType`, otherwise the compile unit. On its own
this PR emits no type that can be a typedef's scope. I'll address this
after debug info for composite types is in mainline.

Tests:

1. `debug-typedef.ll` covers a file-scope typedef of `int` parented to
the compile unit, checking all six operands.
2. `debug-typedef-skip-base-not-in-regs.ll` covers the skip path with a
typedef of a pointer that has no DWARF address space.
3. `debug-typedef-nested-drop.ll`: tests the one-pass limitation: a
two-level typedef emits one `DebugTypedef`, with
`--implicit-check-not=DebugTypedef`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/0c60c8ad15a0c4255f094bc799c80a683348109c

Git commit cf6335b275a996adff8334cb35245480ece481e1 by GitHub (on behalf of tfzee) on 30/07/2026 at 13:59..
[X86] Lower scalar bf16 arithmetic on AVX10.2 via packed ops (#212245)

Currently basic(fadd/fsub/fmul/fdiv/fsqrt/fma) bf16 operations, as they
are not natively supported, are expanded to f32 operations.
However with AVX10.2 there are packed versions for these operations
which should be used instead and are enabled with this PR.

Since there is no native bf16 register class I instead go through f16
since it matches its size and register class.
This conversion will end up getting optimized away leaving only the
intended packed operation.


I used AI to double check and expand on comments.
https://invent.kde.org/qt/clang/llvm-project/-/commit/cf6335b275a996adff8334cb35245480ece481e1

Git commit 409b7b49623582da0b5f6a6eb5e607ffe19cd349 by GitHub (on behalf of Paul Walker) on 30/07/2026 at 14:00..
[NFC][AArch64ISelLowering] Use getExtractSubvector and getInsertSubvector helpers. (#213004)
https://invent.kde.org/qt/clang/llvm-project/-/commit/409b7b49623582da0b5f6a6eb5e607ffe19cd349

Git commit f30df0953917256142cfbe1172e22ebbca8204b3 by GitHub (on behalf of Fateme Hosseini) on 30/07/2026 at 14:04..
[Hexagon] Fix ISel error: LLVM: cannot select -fmaximum (#211283)

This patch adds a custom lowering for FMAXIMUM.
FMAXIMUM is NaN-propagating, and currently, we
don't have any hexagon instruction to support
that behaviour. The patch is also extended to
cover FMINIMUM as well.

Check if any of the inputs are NaN. If so,
propagate the NaN to the output, otherwise
return the maximum/minimum of the inputs,
using ISD::FMINNUM/ISD::FMAXNUM to run
Hexagon's F2_sfmin/F2_sfmax when no operand
is NaN. NaN is propagated (rather than
replaced with a new ConstantFP NaN node) to
avoid triggering a wrong C2_MUX selection in
ISD::SELECT.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f30df0953917256142cfbe1172e22ebbca8204b3

Git commit 2d697f8562d7845d5554cc1d2cd2264401b9d68f by GitHub (on behalf of Zahira Ammarguellat) on 30/07/2026 at 14:07..
[OpenMP] Restore loop variable values after loop-transformation constructs. (#212853)

This PR relands #208533 which was reverted in #212832 due to test
failures with iterator-based loops.

Original Change:
#208533 fixes loop variable finalization for OpenMP 6.0
loop-transformations constructs: tile, stripe, reverse, interchange and
fuse to comply with spec requirement page 371, lines 19-21. The spec
requires that "After the execution of the loop-transforming construct,
the loop-iteration variables of any of its transformation-affected loops
have the values that they would have without the loop-transforming
directive".

What's Fixed in This Reland:
The original implementation attempted to finalize all loop variables,
including iterators in range-based for loops (CXXForRangeStmt). This
caused issues because the finalization formula `final_value =
lower_bound + num_iterations * step` only applies to arithmetic types
(integers, floats).
https://invent.kde.org/qt/clang/llvm-project/-/commit/2d697f8562d7845d5554cc1d2cd2264401b9d68f

Git commit b95468ff04ba648fa637a4c0783b0e2d332b712c by GitHub (on behalf of Paulius Velesko) on 30/07/2026 at 14:10..
[HIPSPV] Add in-tree SPIR-V backend support for chipStar (#206910)
https://invent.kde.org/qt/clang/llvm-project/-/commit/b95468ff04ba648fa637a4c0783b0e2d332b712c

Git commit cb0944c34b44c4ceadc891e7ee8fd5013ada8b93 by GitHub (on behalf of Nick Sarnie) on 30/07/2026 at 14:10..
[offload][lit] Add jit unittest (#212860)

Basic test for the JIT path.

Context: https://github.com/llvm/llvm-project/pull/212823

---------

Signed-off-by: Nick Sarnie <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/cb0944c34b44c4ceadc891e7ee8fd5013ada8b93

Git commit 11d7c9c9b4e8ebaf5f9bfb6ba80aecd498aa25ca by GitHub (on behalf of michaelselehov) on 30/07/2026 at 14:12..
[llvm-calc-occupancy] Fix build after SGPR queries moved to TargetParser (#213023)

Urgent buildbot fix for #208727.

That PR was developed before #209848, which moved the SGPR count queries
into TargetParser and removed
`AMDGPU::IsaInfo::getAddressableNumSGPRs()`, so
`llvm-calc-occupancy.cpp` fails to compile on current `main`:

```
llvm-calc-occupancy.cpp:229:41: error: no member named 'getAddressableNumSGPRs' in namespace 'llvm::AMDGPU::IsaInfo'
```

This switches to the equivalent
`GCNSubtarget::getAddressableNumSGPRs()`, which forwards to the
TargetParser version. All other `IsaInfo::*` calls in the file were
checked against the new API and are unaffected.

Verified locally: `ninja llvm-calc-occupancy` builds clean,
`llvm/test/tools/llvm-calc-occupancy` passes, and the reported
addressable SGPR count is unchanged (102 on gfx90a).
https://invent.kde.org/qt/clang/llvm-project/-/commit/11d7c9c9b4e8ebaf5f9bfb6ba80aecd498aa25ca

Git commit 3b2fe5ae137b845c83a3e435b23f1d9c2abb17f6 by GitHub (on behalf of Alexey Bataev) on 30/07/2026 at 14:14..
[SLP][NFC]Add a test with the non-profitable vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213028
https://invent.kde.org/qt/clang/llvm-project/-/commit/3b2fe5ae137b845c83a3e435b23f1d9c2abb17f6

Git commit e001308a83cace2f133edf4ee08c574ba7c2c702 by GitHub (on behalf of Nikolas Klauser) on 30/07/2026 at 14:17..
[libc++] Fix exception_fallback.ipp not compiling (#212961)
https://invent.kde.org/qt/clang/llvm-project/-/commit/e001308a83cace2f133edf4ee08c574ba7c2c702

Git commit a853e6fcaf602b3c9bdd21a02af2c4f32a2cb5d1 by GitHub (on behalf of Jeff Bailey) on 30/07/2026 at 14:27..
[libc] Add struct passwd type, pwd.yaml, and pwd_utils parser (#212421)

Added struct passwd type definition, pwd.yaml header specification, and
parse_passwd_line utility returning ErrorOr<struct passwd> for
colon-separated
password file parsing with hermetic unit tests.

Note: Additional POSIX pwd.h functions (getpwuid, getpwnam, getpwuid_r,
getpwnam_r, fgetpwent) are omitted from this initial change and will be
added in follow-up PRs.

* Added libc/include/llvm-libc-types/struct_passwd.h and proxy header
* Added libc/include/pwd.yaml header specification
* Added pwd_utils.h and pwd_utils.cpp implementing ErrorOr<struct
passwd> parse_passwd_line
* Added pwd.h to target public headers for linux architectures
* Added unit tests in libc/test/src/pwd/pwd_utils_test.cpp

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

Git commit d7c1e6054fb66a5954a6403d3803f7bc5f1eb449 by GitHub (on behalf of Alexey Bataev) on 30/07/2026 at 14:30..
[SLP]Recalculate gather costs after tree trimming

Gather node costs are computed against the set of vectorized nodes
available for reuse. Tree trimming changes that set, but the costs were
not recalculated: a gather that reused a trimmed-away vectorized value
kept its 0 cost, and the node transformed to a gather matched the same
sibling gather for a free reuse, so the buildvector cost was lost and
unprofitable trees were vectorized.

Recalculate costs of all gather nodes after trimming.

Fixes #212983

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213034
https://invent.kde.org/qt/clang/llvm-project/-/commit/d7c1e6054fb66a5954a6403d3803f7bc5f1eb449

Git commit e74432084f392d19bf7f30dfd58d3c47a1a32178 by GitHub (on behalf of David Young) on 30/07/2026 at 14:33..
[Bazel] Fix Host target's exported headers to include windows (#213018)

When PR# 201283 added windows os select to the build of the Host target,
it missed the exported headers since the CI checks run only linux and
mac (and I hadn't gotten to this in my slow slog of windows bazel lldb
support). I found when translating to BUCK and running into this
compilation error on windows for buck2 built lldb.
Still cannot build and claude tells me the exclude is necessary to avoid
a duplicate.

claude assisted with bazel rule creation
https://invent.kde.org/qt/clang/llvm-project/-/commit/e74432084f392d19bf7f30dfd58d3c47a1a32178

Git commit aa07c1f12d5d7fd61484236fbfdb2c26c81575fe by GitHub (on behalf of Manuel Carrasco) on 30/07/2026 at 14:45..
Implement support for NSDI DebugFunction opcode. (#211760)

Add support for
[DebugFunction](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugFunction).
https://invent.kde.org/qt/clang/llvm-project/-/commit/aa07c1f12d5d7fd61484236fbfdb2c26c81575fe

Git commit 2f08dff5138a4ce908b6d4511a9439e859fedf86 by GitHub (on behalf of Alexey Samsonov) on 30/07/2026 at 14:46..
[libc] Refactor statfs Linux syscalls and provide 'struct statfs' (#212930)

* Extract statfs/fstatfs Linux syscall wrappers to
`linux/syscall_wrappers` directory;
* Provide our own definition of `struct statfs` type and a corresponding
proxy header (to use system type in overlay mode);
* Migrate callers (e.g. statfs->statvfs translation) to use the new
syscall wrapper.

This would allow us to add Linux-specific (non-POSIX) `<sys/statfs.h>`
header as a next step.

Assisted by: Gemini, human-reviewed
https://invent.kde.org/qt/clang/llvm-project/-/commit/2f08dff5138a4ce908b6d4511a9439e859fedf86

Git commit 11b58f0e4c84437b2c39e0e5cc415077b3fe06d3 by GitHub (on behalf of Hristo Hristov) on 30/07/2026 at 14:57..
[libc++][ranges] P3059R2: Making user-defined constructors of view iterators/sentinels private (#193891)

Implements https://wg21.link/P3059R2 (DR)

Closes #189599

1. Made constructors of iterator and sentinel types of the following
views private:
  - `iota_view`
  - `basic_istream_view`
  - `filter_view`
  - `transform_view`
  - `take_view`
  - `take_while_view`
  - `join_view`
  - `lazy_split_view`
  - `split_view`
  - `elements_view`
2. Updated all relevant tests to fix the usages of the now private
constructor, including:
   1. Removed now obsolete tests (files and cases).
2. Updated all relevant tests to get the iterators and the sentinels via
`begin()` and `end()`, wherever applicable .
   3. Added test cases to confirm that P3059R2 was implemented properly.
   4. Minor other (necessary) tweaks.

---------

Co-authored-by: Hristo Hristov <[email protected]>
Co-authored-by: A. Jiang <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/11b58f0e4c84437b2c39e0e5cc415077b3fe06d3

Git commit 7ccf4e638e3f0106b3c8f36a3e4d9e67c40b8d1d by GitHub (on behalf of Craig Topper) on 30/07/2026 at 15:08..
[RISCV] Improve lowerVECTOR_SHUFFLEAsPPair. (#212895)

Allow V1 and V2 to be swapped. Allow V1 or V2 to be used twice.

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

Git commit 66d049cdad21a7ad387f358f7593bee91221bd39 by GitHub (on behalf of Kyungtak Woo) on 30/07/2026 at 15:08..
[libc++] Fix std::mt19937 seeding with std::seed_seq under vectorized ABI (#209860)

This PR fixes a bug in `std::mersenne_twister_engine::seed(_Sseq&)`
where the initialization twist is bypassed when the vectorized engine
optimization (`_LIBCPP_ABI_VECTORIZED_MERSENNE_TWISTER_ENGINE`) is
enabled.

In the vectorized implementation introduced in #206423, the engine state
must be pre-twisted during initialization by calling
`__update_all_states()` at the end of the `seed` functions.

However, in `seed(_Sseq& __q)`, the all-zero state check contains an
early `return;` when a non-zero state is verified. This early return
bypasses the trailing `__update_all_states()` call. Consequently, the
generator is initialized with raw, untwisted seed values (tempered)
rather than the standard twisted values.

This only manifests when compiled with unstable ABI settings
(`_LIBCPP_ABI_VERSION >= 2`) which enables the vectorized
implementation.

I replaced the early `return;` inside the all-zero state verification
block with a loop break, and conditionalized the zero-state fix using
the loop index `__i`, ensuring `__update_all_states()` is always
executed at the end of the function. Added regression tests to
`seed_sseq.pass.cpp` asserting the exact deterministic outputs for both
32-bit and 64-bit engines.
https://invent.kde.org/qt/clang/llvm-project/-/commit/66d049cdad21a7ad387f358f7593bee91221bd39

Git commit e696fb5963f9c9f1e50d1da1bab6430c58ac3da1 by GitHub (on behalf of Benedek Kaibas) on 30/07/2026 at 15:20..
[analyzer] Improve UseAfterLifetimeEnd checker's diagnostic with descriptive names and value tracking (#212158)

Currently the `UseAfterLifetimeEnd` checker used `getString()` for
constructing error message. However, `getString()` is a debug only
stringification and should not be used for emitting reports to the
users. That is why I have changed it to `getDescriptiveName()` and also
implemented the `getRegionName`(#211552) function to return the region's
descriptive name. The `getRegionName()` function got also moved to the
modeling checker since both of the reporting checkers consume it
(#211818). This PR also uses the `trackStoredValue()` for value tracking
path notes, so the report points at where the value's source came from.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e696fb5963f9c9f1e50d1da1bab6430c58ac3da1

Git commit e5bc20b1a810aec0cb7df3f3a834d14a0418ece0 by GitHub (on behalf of Ilia Kuklin) on 30/07/2026 at 15:27..
[lldb] Add bitwise operators to DIL (#209768)

Add binary bitwise operators `|`, `^`, `&`, and unary bitwise `~`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e5bc20b1a810aec0cb7df3f3a834d14a0418ece0

Git commit bf4bafc5595b8ed408121e0c5c695b23d52394fc by GitHub (on behalf of Balázs Benics) on 30/07/2026 at 15:46..
[analyzer] Require x86 target for Analysis/string-search-modeling.c (#213048)

This is a fixup to #212124.
The Solaris/sparcv9 build bot failure was reported in:
https://github.com/llvm/llvm-project/pull/212124#issuecomment-5130635364

Build bot failure:
https://lab.llvm.org/buildbot/#/builders/13/builds/14261

```
# RUN: at line 3
/opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c    -analyzer-checker=core,unix    -analyzer-checker=debug.ExprInspection    -analyzer-config eagerly-assume=false
# executed command: /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c -analyzer-checker=core,unix -analyzer-checker=debug.ExprInspection -analyzer-config eagerly-assume=false
# RUN: at line 10
/opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -triple x86_64-scei-ps4 -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c    -analyzer-checker=core,unix    -analyzer-checker=debug.ExprInspection    -analyzer-config eagerly-assume=false
# executed command: /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/bin/clang -cc1 -internal-isystem /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/stage1/lib/clang/24/include -nostdsysteminc -analyze -setup-static-analyzer -triple x86_64-scei-ps4 -std=c17 -verify /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c -analyzer-checker=core,unix -analyzer-checker=debug.ExprInspection -analyzer-config eagerly-assume=false
# .---command stderr------------
# | error: 'expected-warning' diagnostics expected but not seen:
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 528: TRUE
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 539: TRUE
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 551: TRUE
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 565: TRUE
# | error: 'expected-warning' diagnostics seen but not expected:
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 528: FALSE [debug.ExprInspection]
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 539: FALSE [debug.ExprInspection]
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 551: FALSE [debug.ExprInspection]
# |   File /opt/llvm-buildbot/home/solaris11-sparcv9/clang-solaris11-sparcv9/llvm/clang/test/Analysis/string-search-modeling.c Line 565: FALSE [debug.ExprInspection]
# | 8 errors generated.
# `-----------------------------
# error: command failed with exit status: 1
```
https://invent.kde.org/qt/clang/llvm-project/-/commit/bf4bafc5595b8ed408121e0c5c695b23d52394fc

Git commit 3d6d0457bbc4698cb515f5d68e981a1ebf3d724e by GitHub (on behalf of vangthao95) on 30/07/2026 at 15:48..
AMDGPU/GlobalISel: Switch some FP opcodes to extended LLTs (#212664)

Migrate G_FADD, G_FMUL, G_FMA, and G_FSUB and their strict variants,
along with G_FCANONICALIZE to use extended LLTs.

Also update the relevant MIR tests.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3d6d0457bbc4698cb515f5d68e981a1ebf3d724e

Git commit 0eddedc4e718f05617c8649be78c72eda60d14a2 by GitHub (on behalf of Ian Li) on 30/07/2026 at 15:56..
[clang][DependencyScanning] Return failure upon CompilerInstanceWithContext failure to create target (#211607)

This was first pointed out by a static analysis scan: Success/failure
results from `CompilerInstance::createTarget` in
`CompilerInstanceWithContext::initialize` is currently being discarded.

AFAICT, `initialize` should have failed if
`CompilerInstance::createTarget` failed, as I noticed that calls in
`CompilerInstanceWithContext::computeDependencies` (which is ran right
after `initialize`) contains function calls (i.e. `CI.loadModule`) that
make references to `CompilerInstance::getTarget`: `getTarget` then tries
to obtain a reference to the very `TargetInfo` instance that the earlier
`CompilerInstance::createTarget` call failed to create.

AFAIK `createTarget` doesn't actually seem to fail currently, but I
haven't been able to find a good reason as for why success/failure from
`CompilerInstance::createTarget` should be ignored even if it failed.
But please let me know if I am not seeing something here!
https://invent.kde.org/qt/clang/llvm-project/-/commit/0eddedc4e718f05617c8649be78c72eda60d14a2

Git commit e4c2875c397861ea45a0cca05107d91d7d785d03 by GitHub (on behalf of Ehren Bendler) on 30/07/2026 at 15:56..
[clang][docs] Update CommandLineUsage and UsersManual with some flags (#209519)

The current user-manual is missing implemented options that are useful
for machine-readable output, such as `-fdiagnostics-format=sarif` and
`-fdiagnostics-absolute-paths`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e4c2875c397861ea45a0cca05107d91d7d785d03

Git commit 565fdb70e6063e27230f6397d2cbccf1003beaed by GitHub (on behalf of Yoonseo Choi) on 30/07/2026 at 16:01..
[AMDGPU] SIInsertWaitcnts: rebase async marks into the merged frame at CFG joins (#211688)

This PR fixes `WaitcntBrackets::mergeAsyncMarks` to call `mergeScore` at
CFG join block even when one of its predecessors has no AsyncMark

At a CFG join block, the upper bounds of counts from predecessors are
merged. Then,
`mergeScore` rebase each predecessor’s `Score` by the merged upper
bound. Even if a predecessor has no AsyncMark, scores of other
predecessors with AsyncMarks should be rebased by `mergeScore`.

Suppose a predecessor, bb B, without AsyncMark (Score 0) visited later
than another predecessor with AsyncMarks (positive Score), bb A. If
merging upper bounds of bb B into that of bb A increases the new global
upper bounds to UB’ from UB, bb A’s Score should be rebased by the new
UB’. Previously in that case, only UB was merged but Score of bb A was
not updated as `mergeScore` was not called due to bb B’s having zero
score.

Detailed example can be seen in added test,
`llvm/test/CodeGen/AMDGPU/asyncmark-merge-rebase-pregfx12.mir`. Here are
the descriptions on the test.

The join (bb.3) has two predecessors:
- (bb.2) an AsyncMark predecessor: one async LDS DMA + ASYNCMARK, so one
     AsyncMark recorded at LOAD_CNT score 1 (small frame, UB = 1).
- (bb.1) a load predecessor: several async LDS DMAs with no ASYNCMARK.
These stay
outstanding (they write LDS, no VGPR result) and extend the frame to UB
= 4,
     but contribute no async marks.

si-insert-waitcnts visits the branch target bb.2 before the fall-through
bb.1. So, bb.2 seeds bb.3's incoming state and bb.1 with an empty
AsyncMarks list is merged in.
When UB of LOAD_CNT is still merged to 4 = max(1,4).
If bb.2's Score 1 is not rebased to new UB 4, the vmcnt value wrongly
becomes 3 (= 4 - 1), which was the previous behavior.
Score 1 must be rebased to 4 (= 1 + (4 - 1)) to make correct vmcnt, 0 (=
4 - 4). That rebase logic is already within `mergeScore`. `mergeScore`
should be called even when one of the predecessors has zero Score.

Notice that the bug doesn’t show up if bb.1 was visited before bb.2.
https://invent.kde.org/qt/clang/llvm-project/-/commit/565fdb70e6063e27230f6397d2cbccf1003beaed

Git commit 75b5df8f0af1000cae8e21fedbc14d0c51a01318 by GitHub (on behalf of Sirraide) on 30/07/2026 at 16:09..
[Clang] Support libstdc++ workarounds when using `-E` (#210802)

We have a libstdc++ workaround in place to address a hack in libstdc++15
that is used in the definition of `std::format_kind`. GCC accepts the
hack, while Clang does not. libstdc++ was eventually updated to remove
the hack, but we still need the workaround for some versions of
libstdc++15 (see #139560 for more information).

Whether this workaround (and others that address libstdc++ hacks) is
active depends on the value of `__GLIBCXX__`. This stops working if
someone first preprocesses the input (via `-E`) and then attempts to
compile the preprocessed code with Clang (see #160314): since
preprocessing has already happened, `__GLIBCXX__` will be undefined and
the workaround will not be applied.

In case of this particular workaround, this results in `#include
<format>` failing to compile on some versions of libstdc++ if you’re
using separate preprocessing.

To resolve this problem, this patch introduces a new pragma (`#pragma
clang __set_pp_state MACRO_NAME INTEGER`). This is intended as a general
solution to preserving preprocessor state across runs of the
preprocessor.

Currently, the only supported value for `MACRO_NAME`is `__GLIBCXX__`.
When we encounter this form of the pragma, we update
`Preprocessor::CXXStandardLibraryVersion` (we don’t actually define
`__GLIBCXX__` or do anything w/ that macro here). In `-E` mode, the
pragma is retained in the output, and a pragma is emitted for `#define
__GLIBCXX__` if printing macro definitions is disabled.

Things like `#undef __GLIBCXX__` and redefinitions of `__GLIBCXX__` are
deliberately left unhandled (i.e. you get what you get), since users
shouldn’t ever be undefining or redefining this macro anyway (and since
it starts w/ `__`, it would also be UB to do so).

Fixes #160314.
https://invent.kde.org/qt/clang/llvm-project/-/commit/75b5df8f0af1000cae8e21fedbc14d0c51a01318

Git commit 7850239749970847955a918d731630b35c540af2 by GitHub (on behalf of Jonas Devlieghere) on 30/07/2026 at 16:11..
[lldb][docs] Rewrite the MCP documentation for lldb-mcp (#212821)

The docs still describe lldb-mcp as a thin stdio-to-socket bridge that
auto-launches an LLDB and exposes a single lldb_command tool. It is now
a full featured multiplexer hosting its own sessions, with four tools
and pid-qualified URIs. Also restructure the documentation around how it
is used, with an explanation of the underlying architecture towards the
end.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7850239749970847955a918d731630b35c540af2

Git commit ce7a6f9d239979d9ae7d4c422d830a17dbb4075a by GitHub (on behalf of vangthao95) on 30/07/2026 at 16:12..
AMDGPU/GlobalISel: Switch more FP opcodes to extended LLTs (part 2) (#212909)

Migrate G_FPOW, G_FPOWI, G_INTRINSIC_FPTRUNC_ROUND, and FP<->INT
conversions opcodes to extended float LLTs.

Also update the relevant MIR tests.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ce7a6f9d239979d9ae7d4c422d830a17dbb4075a

Git commit f38336987beb7f173e448e50578208b37027c035 by GitHub (on behalf of Jonas Devlieghere) on 30/07/2026 at 16:12..
[lldb][docs] Document the script interpreter plugin build options (#212655)

Describe LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS and how it interacts
with LLDB_ENABLE_PYTHON_LIMITED_API, including the platform defaults for
both and why the Python Limited API requires dynamic script interpreter
plugins everywhere but Windows.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f38336987beb7f173e448e50578208b37027c035

Git commit 0cfc5bc3aa10274776306e4a4a179974d3fadb4b by GitHub (on behalf of Ian Tayler Lessa) on 30/07/2026 at 16:18..
[mlir][tosa][tosa-to-linalg] Use 0 weights at skippable RFFT2D locations (#212293)

The TOSA specifications indicates that when computing the imaginary
output for locations (0,0), (0,W/2), (H/2,0), (H/2, W/2),
implementations may choose to skip the computation entirely and return
0, or compute each accumulation term as `-val_real * 0.0`.

The previous legalizations used `-val_real * sin(a)` but `sin(a)` may
not return exactly 0.0 due to representation error in the input to
`sin`.

This patch updates the legalization to instead check for indices where
`sin(a)` should be replaced by `0.0` and uses a `select` op to match the
expected behaviour according to the Specification when
tosa_extra_multiplies is set to `true`.

Signed-off-by: Ian Tayler Lessa <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/0cfc5bc3aa10274776306e4a4a179974d3fadb4b

Git commit 5e3f4038530f54fa80ef2e2e648dcb399d279b70 by GitHub (on behalf of Andy Kaylor) on 30/07/2026 at 16:19..
[CIR] Add fenv attribute to cast operation (#212899)

This adds the optional #cir.fenv attribute to the cir.cast operation and
updates the verifier to enforce the attribute being present only when
the cast involves floating-point values.

Assisted-by: Cursor / various models
https://invent.kde.org/qt/clang/llvm-project/-/commit/5e3f4038530f54fa80ef2e2e648dcb399d279b70

Git commit 1dd9687d41e1331996ece0839e58673ab4d8e10f by GitHub (on behalf of Wooseok Lee) on 30/07/2026 at 16:20..
[AMDGPU] Fix fmul/fma legacy sign-of-zero miscompile (#203567)

V_MUL_LEGACY_F32 always returns +0.0 when either operand is ±0.0 or a
denormal treated as zero, while IEEE fmul XORs operand signs. This makes
results observably different when one operand is a runtime ±0.0:

  fmul.legacy(-2.0, +0.0) = +0.0  (legacy zero clause forces +0.0)
  fmul       (-2.0, +0.0) = -0.0  (IEEE sign XOR: - * + = -)

The previous code folded whenever one operand matched m_FiniteNonZero()
or both were known never Inf/NaN, without accounting for sign-of-zero
divergence on the other operand.

Restructure the guard:

- Always safe: both operands are known never zero (legacy zero clause
  cannot fire). Uses isKnownNeverLogicalZero to correctly account for
  denormals flushed to zero under the function's f32 denormal mode.

- With nsz (sign-of-zero is don't-care), two additional cases apply:
  1. One operand is not zero or infinity or NaN: zero clause cannot fire
     on that side, and 0*Inf/0*NaN (where legacy returns +0.0 but IEEE
     returns NaN) is excluded.
  2. Neither operand is infinity or NaN: 0*Inf and 0*NaN cases excluded,
     nsz covers any sign-of-zero difference from the zero clause.
  A single condition captures both cases.

- Compute Known1 lazily: bail before the second computeKnownFPClass call
  if Op0 may be zero and nsz is not set, since Op1 cannot help.

Update fmul_legacy.ll and fma_legacy.ll to reflect the corrected
behavior: cases that previously folded without nsz now require it or
require both operands to be provably non-zero.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1dd9687d41e1331996ece0839e58673ab4d8e10f

Git commit 665d200b160d15ef7e8ddeb21c7028d774c7e1b1 by GitHub (on behalf of Jianhui Li) on 30/07/2026 at 16:20..
[mlir][xegpu] Handle size-1 broadcast dim in insert_strided_slice layout setup (#211725)

This PR enhance `setupInsertStridedSliceResultLayout` to treat a size-1
source dim as a broadcast dim: keep its lane_data at 1 instead of
requiring divisibility.

Add regression tests for both the layout propagation setup and the
subgroup-to-lane distribution of such an op.

Assisted-by-claude

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

Git commit 33a5fd88736a9f7b7d266c48827a478629d04604 by GitHub (on behalf of Jacob Crawley) on 30/07/2026 at 16:21..
[AArch64][SME2] Add stridedorcontiguous pseudos for multi-vector-stores (#211551)

Select strided-or-contiguous psuedos for SME2 multi-vector stores,
allowing register allocation to choose the most profitable tuple layout.
The pseudos can then be expanded to choose the appropriate contiguous or
strided instruction after allocation.
https://invent.kde.org/qt/clang/llvm-project/-/commit/33a5fd88736a9f7b7d266c48827a478629d04604

Git commit 188aa82fd8d0b9f322f6d5b3812f8cb4a970b60c by GitHub (on behalf of Krzysztof Drewniak) on 30/07/2026 at 16:27..
[AMDGPU] Add ptr.s.buffer.load intrinsic, use it from Clang (#209243)

This commit adds a version of the existing s_buffer_load intrinsic that
more accurately models the memory semantics of the s_buffer_load
instruction, namely that it is, in fact, a memory load.

To preserve the existing behavior that the "nomem" s.buffer.load
intrinsic was using, Clang and MLIR add !invariant.load metadata when
constructing the intrinsic (matching documented requirements on
scalarazable buffer loads) and a late codegen pass adds the metadata
just to be safe.

Tests that were "about" s.buffer.load have been copied to create
versions that use the new intrinsic, as was done for the other
*.ptr.buffer.* operations.

Other tests have been upgraded to use the new intrinsic. This has mainly
resulted in minor instruction ordering changes in prologues, if any
change at all. However, CodeGen/AMDGPU/dagcombine-fma-fmad.ll has seen a
v_fma => v_mad pattern fail to match in one case, I don't know if this
is a real regression.

While I was here, the s_buffer_load => buffer_load fallback has been
updated to preserve cachepolity.

AI disclosure: Primarily AI-written code, but I have at least looked at
and tried to find the worst of the silliness.

---------

Co-authored-by: Codex <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/188aa82fd8d0b9f322f6d5b3812f8cb4a970b60c

Git commit f32c63745818ac03c37d358a2893228967b98d37 by Qiongsi Wu on 30/07/2026 at 16:30..
Extracting a driver-free CompilerInstaneWithContext initializer.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f32c63745818ac03c37d358a2893228967b98d37
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.