[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/tonykuttai/bump-diag-size-frontend'.
Changed from 0000000000000000000000000000000000000000 to e9473e1e878b7518dc21c0364815781978d486de
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 4d37b5bf3099d099302cce447168b3ece4efef5e by GitHub (on behalf of Florian Hahn) on 17/07/2026 at 11:21..
[LV] Add additional SCEV expansion tests with AddRecs. (NFC) (#210159)

Add additional test coverage for SCEV expansion of AddRecs, including
cases where extends are needed, different start and steps, as well as
cases where the outer header is not the plan's entry block.
https://invent.kde.org/qt/clang/llvm-project/-/commit/4d37b5bf3099d099302cce447168b3ece4efef5e

Git commit a9e5bb572703780e3eea4a2759104a141ea73466 by GitHub (on behalf of Nico Weber) on 17/07/2026 at 11:37..
[gn build] Port 398f2117379f (#210308)
https://invent.kde.org/qt/clang/llvm-project/-/commit/a9e5bb572703780e3eea4a2759104a141ea73466

Git commit 9a2d9c7fef47c0af321150f75d8f21db06cccb43 by GitHub (on behalf of Florian Hahn) on 17/07/2026 at 11:46..
[SCEV] Try to fold ZExt/SExt of AddRec before existing lookup. (#208805)

Move AddRec fold for ZExt & SExt before existing SCEV lookup. This can
improve results, when we constructed SCEV for a ZExt/SExt during earlier
analysis and flags on the operand AddRec have not been
refined/strengthend yet.

This improves results in some cases and fixes a regression here:
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/654#discussion_r3554885279.

On a large C/C++ corpus with 32k bitcode files, ~2% more IVs get
widened, removing a large number of ZExt instructions.

Compile-time impact in the noise

https://llvm-compile-time-tracker.com/compare.php?from=167d65906cc3c636221158abe8289ab4a03dfc7d&to=381abca0d5ead4443d86287d754f47c21396a9be&stat=instructions:u
https://invent.kde.org/qt/clang/llvm-project/-/commit/9a2d9c7fef47c0af321150f75d8f21db06cccb43

Git commit 62a932ac3e2702a5493934c6362f9e058a204557 by GitHub (on behalf of Abhina Sree) on 17/07/2026 at 12:10..
[SystemZ][z/OS] Fix zos_translation_time module flag (#210058)

The zos_translation_time flag needs to be 64-bit to handle the year 2038
problem.
https://invent.kde.org/qt/clang/llvm-project/-/commit/62a932ac3e2702a5493934c6362f9e058a204557

Git commit 23b0281d75a4320a4e6e3d837edf94911d98d252 by GitHub (on behalf of Nikita Popov) on 17/07/2026 at 12:34..
[X86] Fix assertion failure for tail call on i686+pic (#210302)

The pattern for TCRETURNmi has a IsNotPIC predicate, but the
checkTCRetEnoughRegs() predicate that's part of the X86tcret_enough_regs
PatFrag is evaluated first, so we can't assert that PIC is disabled
here. We should just return false in that case.

Fixes https://github.com/llvm/llvm-project/issues/210300.
https://invent.kde.org/qt/clang/llvm-project/-/commit/23b0281d75a4320a4e6e3d837edf94911d98d252

Git commit 38104cf836c3903647c917a5b251e938f4eadbb9 by GitHub (on behalf of Paul Walker) on 17/07/2026 at 13:17..
[LLVM][SVE] Add MachineInst pass to coalesce PTRUE instructions. (#204820)

SVE predicate registers contain a bit for each byte of a data register.
When operating on bigger element types the overlaping predicate bits are
grouped together but typically only the least-significant-bit is read as
part of the operation. This means the value of the other bits does not
affect the operation, making it possible to use the result of PTRUE for
a larger element typed operation, assuming the predicate patterns are
equivalent. For example:

  ADD_S (PTRUE_H 31), Z0, Z1 == ADD_S (PTRUE_S 31), Z0, Z1

AArch64PTrueCoalescingPass uses this fact to reduce the number of PTRUE
instructions in a function, with the general trend towards needing a
single PTRUE based on the smallest element type in use.

NOTE: The pass will be enabled by default using a dedicated PR to make
it easier to revert if something goes wrong.
https://invent.kde.org/qt/clang/llvm-project/-/commit/38104cf836c3903647c917a5b251e938f4eadbb9

Git commit de4f929700f8d87041e0b050ec6028f0ac5276ad by GitHub (on behalf of David Spickett) on 17/07/2026 at 13:18..
[lldb][x86] Remove GCC 6 workaround (#210317)

Added by 3bea7306e8669f94bacafae68748a9139cfc0b98.

We now require GCC >= 7.4 so it can be removed.

I tested a standalone reproducer with GCC 7.3 and
clang 5. Neither have the problem.

https://godbolt.org/z/3zKrT9c8s

Standalone reproducer:
```
 struct Base {
   Base(int) {}
 };

 struct Derived : virtual Base {
 #ifdef WORKAROUND
     Derived(int a): Base(a) {}
 #endif
   virtual void g() = 0;
 };

 struct Final : Derived {
   Final(int n) : Base(n)
 #ifdef WORKAROUND
   , Derived(n)
 #endif
   {}
   void g() override {}
 };
```
https://invent.kde.org/qt/clang/llvm-project/-/commit/de4f929700f8d87041e0b050ec6028f0ac5276ad

Git commit b9f5bcbcfbe6aa4943c808afd3bb82243ecb3193 by GitHub (on behalf of Nikita Popov) on 17/07/2026 at 13:19..
Revert "[clang][CodeGen][X86_64] Honor per-function AVX ABI in C/C++ call paths, maintain old psABI for PlayStation." (#210303)

Reverts llvm/llvm-project#193298

Causes a major compile-time regression.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b9f5bcbcfbe6aa4943c808afd3bb82243ecb3193

Git commit 75ec1a4e80a9377f8f1e2ff063b094e016787926 by GitHub (on behalf of Manuel Carrasco) on 17/07/2026 at 13:29..
[SPIRV] Emit NonSemantic DebugGlobalVariable (#207230)

Add emitDebugGlobalVariable to the NSDI handler, translating each
DIGlobalVariable to a
[DebugGlobalVariable](https://github.khronos.org/SPIRV-Registry/nonsemantic/NonSemantic.Shader.DebugInfo.html#DebugGlobalVariable)
ext inst.
https://invent.kde.org/qt/clang/llvm-project/-/commit/75ec1a4e80a9377f8f1e2ff063b094e016787926

Git commit 4f76a4c5a3f8711fe13b05c0f93ac78349396292 by GitHub (on behalf of Erich Keane) on 17/07/2026 at 13:39..
[NFC] RelNotes Formatting fix I screwed up in 209893 (#210325)
https://invent.kde.org/qt/clang/llvm-project/-/commit/4f76a4c5a3f8711fe13b05c0f93ac78349396292

Git commit 40ae05d4773f5c1b2a84ea7dc908d92671b8daa9 by GitHub (on behalf of adams381) on 17/07/2026 at 14:07..
[CIR] Return power-of-two ABI alignment for non-fundamental int widths (#210187)

`cir::IntType::getABIAlignment` returns `width / 8` for non-`_BitInt`
integers. For a non-fundamental width such as `i24` it returns 3, which
is
not a power of two, so a consumer that builds an `llvm::Align` from it
would
hit the power-of-two assertion unless it rounds the value up itself.

This rounds the alignment up to a power of two inside `getABIAlignment`,
matching how LLVM's default DataLayout aligns these (an `i24` aligns
like
`i32`). The fundamental widths are unchanged (`i8` -> 1, `i16` -> 2,
`i32` -> 4, `i64` -> 8), `__int128` stays at 16, and a sub-byte width
like
`i1` now reports 1 instead of 0. A unit test pins these cases.
https://invent.kde.org/qt/clang/llvm-project/-/commit/40ae05d4773f5c1b2a84ea7dc908d92671b8daa9

Git commit 1f2772f8e26beb909c2a559f1fb08697e3e06909 by GitHub (on behalf of Iliyan Georgiev) on 17/07/2026 at 14:19..
[mlir][tosa] Add support for MXFP conv2d (#210054)

- Adds profile compliance support for MXFP conv2d
- Relax conv2d accumulator constraits. They are checked as part of
validation pass
and this would allow experimentation with different types.

Signed-off-by: Iliyan Georgiev <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/1f2772f8e26beb909c2a559f1fb08697e3e06909

Git commit 6f64e7cf0ad7699a5f1e6b2418d4c2cdcdb26470 by GitHub (on behalf of Shreyansh Lodha) on 17/07/2026 at 14:28..
[Clang][AST] Add source range for deleted and defaulted functions (#205408)

Earlier wrong ranges for default and deleted functions were reported.
Post this fix all ranges for functions are reported.

Fix: Extended the declarator's source range to include the delete /
default tokens by calling
D.SetRangeEnd(PP.getLocForEndOfToken(KilLoc).getLocWithOffset(-1)) after
consuming each keyword in ParseFunctionDefinition. Previously, the range
ended at the function name, onitting the delete/default specifier
entirely.

Regression tested and no regressions found.


Assisted-by: Claude Code (Anthropic) — used in developing this patch.

Closes #64805
https://invent.kde.org/qt/clang/llvm-project/-/commit/6f64e7cf0ad7699a5f1e6b2418d4c2cdcdb26470

Git commit 7c1b00b38d7fb9eecfd345c51f9e9509e6b039ad by GitHub (on behalf of Jay Foad) on 17/07/2026 at 14:29..
[AMDGPU] Fix type of SIlds / AMDGPUISD::LDS node (#210340)

iPTR means i64 here, but this node operates on 32-bit LDS addresses.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7c1b00b38d7fb9eecfd345c51f9e9509e6b039ad

Git commit 499b69cf07e03a23a420ee773261fcfcfc1c3df9 by GitHub (on behalf of Jonas Devlieghere) on 17/07/2026 at 14:48..
[DWARFLinker] Fix data race on the per-unit file-name cache (#208967)

CompileUnit::getDirAndFilenameFromLineTable reads and mutates the unit's
FileNames DenseMap without synchronization. During the parallel
type-name assignment phase a unit's cache is touched both by its own
worker and, through cross-unit type-name references
(addReferencedODRDies calling addDieNameFromDeclFileAndDeclLine) by
other units' workers.

The concurrent find/insert/grow corrupts the map and trips the
assertion:

```
Assertion failed: (TheBucket), function findBucketForInsertion, DenseMap.h
```

Guard the cache with a mutex. Store each entry in a heap-allocated pair
so the StringRefs handed back to callers stay valid across a concurrent
rehash. Otherwise a short (small-string-optimized) file name would move
when another insertion grows the map, dangling a StringRef already
returned.
https://invent.kde.org/qt/clang/llvm-project/-/commit/499b69cf07e03a23a420ee773261fcfcfc1c3df9

Git commit 2a00d50e6012e1ee31904d394c088be907b6aa8b by GitHub (on behalf of Delaram Talaashrafi) on 17/07/2026 at 14:48..
[Flang][OpenACC] Check routine level for function references in loops (#209529)

Extend the loop/routine-level compatibility check to `FunctionReference`
calls. Resolve `!$acc routine` information from procedure pointers and
interface symbols, not only `SubprogramDetails`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2a00d50e6012e1ee31904d394c088be907b6aa8b

Git commit f1b5b061832610e78d5be7313f0ab3e5e55d790f by GitHub (on behalf of David Young) on 17/07/2026 at 15:05..
Modify lit config to allow specify extra env vars to pass through to lit invocation (#208239)

lit's pass-through environment allow-list is hard-coded in
TestingConfig.py. There are cases where a particular test environment
needs an extra variable passed through (e.g. credentials or tooling
paths required to fetch dependencies during a test), but today the only
way to add one is to fork this list downstream.

This adds a --pass-env NAME option (repeatable, and also honored via
LIT_OPTS) that copies the named variable from lit's environment into the
test environment, in addition to the built-in allow-list. Since the
caller chooses exactly which variables to forward, passing through a
wrong or sensitive variable is user error rather than a default. The
default is empty, so existing behavior — only the hard-coded list is
passed through — is unchanged.

test creation help via Claude
https://invent.kde.org/qt/clang/llvm-project/-/commit/f1b5b061832610e78d5be7313f0ab3e5e55d790f

Git commit d7aacfc940c3f1553973f1ebf7d11a6513fda1ed by GitHub (on behalf of Charles Zablit) on 17/07/2026 at 15:09..
[lldb] Support Windows paths in AF_UNIX domain-socket URIs (#206985)

On Windows an `AF_UNIX` socket path is a native filesystem path. Placed
directly in a unix-connect:// URI it isn't a valid `host:port`
authority, so `URI::Parse` confuses the drive letter colon as a port
separator and connection setup fails.

This patch converts the path in the [RFC
8089](https://datatracker.ietf.org/doc/html/rfc8089) file-URI form
instead which parses as an ordinary URI with an empty host. DomainSocket
converts between the native path and this URI form at its boundaries.

Both are no-ops on POSIX: behavior is unchanged, and `URI::Parse` and
the GDB-remote consumers are left untouched.

rdar://180736036
https://invent.kde.org/qt/clang/llvm-project/-/commit/d7aacfc940c3f1553973f1ebf7d11a6513fda1ed

Git commit 0b1652db8a18b336f39855fcf9b5137fa0b4b3c9 by GitHub (on behalf of Kane Wang) on 17/07/2026 at 15:16..
[RISCV][GlobalISel] Legalize G_ATOMICRMW_XCHG (#209983)

This commit makes `xchg` consistent with `add/and/or/xor` across all
type/extension combinations. Updates `legalizer-info-validation.mir` for
the newly defined rules and adds `atomicrmw-xchg.ll` and
`legalize-atomicrmw-xchg-rv{32,64}.mir` tests.
https://invent.kde.org/qt/clang/llvm-project/-/commit/0b1652db8a18b336f39855fcf9b5137fa0b4b3c9

Git commit d05f7b28b6f7de6e9ca89e1b9e3aca8c8380e322 by GitHub (on behalf of Nico Weber) on 17/07/2026 at 15:20..
[gn build] Port 38104cf836c3 (#210356)
https://invent.kde.org/qt/clang/llvm-project/-/commit/d05f7b28b6f7de6e9ca89e1b9e3aca8c8380e322

Git commit 45f76eac198fdee52d61c57e667f48a7f5e9581f by GitHub (on behalf of Nico Weber) on 17/07/2026 at 15:20..
[gn build] Port 40ae05d4773f (#210357)
https://invent.kde.org/qt/clang/llvm-project/-/commit/45f76eac198fdee52d61c57e667f48a7f5e9581f

Git commit 30f270edb42c5d37e4c4a413ebfc7a6513565b30 by GitHub (on behalf of Jacek Caban) on 17/07/2026 at 15:30..
[LLD] [COFF] Fix linking directly against an ARM64X DLL without import library (#210311)

In mingw mode, when linking against a DLL, the user can either provide a
regular import library, or provide the actual DLL. When linking against
an ARM64X image, add both native and EC views to the symbol table on EC
targets. Also getMachine() on such images returns ARM64X, treat it as
ARM64 instead.
https://invent.kde.org/qt/clang/llvm-project/-/commit/30f270edb42c5d37e4c4a413ebfc7a6513565b30

Git commit 4671287932028a32caa4bce6aea35f9de3f1daa8 by GitHub (on behalf of Charles Zablit) on 17/07/2026 at 15:32..
[lldb][Windows] Reuse preloaded exe module on launch (#210010)

# Brief

Recreating the module everytime causes the path to be canonicalized.
This does not work well with subst drives, because the newly created
module will not have the correct drive path, causing breakpoints to be
unresolved.


# Description
`ProcessWindows::OnDebuggerConnected` derives the executable module from
`GetModuleFileNameExW` on every connect. This returns the process
image's *real* path, so when the target is created via a subst'd or
mapped drive (e.g. `S:\...\a.out`, where `S:` is subst for `C:\S`) it
comes back as `C:\S\...\a.out`. `GetOrCreateModule` then fails to match
the module LLDB had already preloaded and creates a duplicate instead.
The duplicate leaves the original module's breakpoint location orphaned
unresolved while the new module's location is resolved, so a source line
breakpoint reports two locations with only one resolved. Generic tests
that assert exactly one resolved location fail with `"2 != 1"` and
`"Expecting 1 locations, got 2"`.

# Fix
This patch fixes this by first attempting to reuse the existing module
if it exists. In practice, LLDB only looks for the executable during
attach.

This is a problem in Swiftlang where we run our tests with a subst
drive. The impacted tests are:
-
`lang/c/{array_types,function_types,set_values,enum_types,anonymous,forward,local_variables}`
- `lang/cpp/{class_types,inlines}`
- `commands/{apropos/with-process,command/nested_alias,memory/write}`
- `functionalities/{memory/find,dead-strip,memory/holes}`
- `commands/expression/entry-bp`
https://invent.kde.org/qt/clang/llvm-project/-/commit/4671287932028a32caa4bce6aea35f9de3f1daa8

Git commit e57b9c0761706905e42da3cfa485cebc3629d72a by GitHub (on behalf of Prajwal Nadig) on 17/07/2026 at 15:42..
[ExtractAPI] Include availability attributes for anonymous typedefs (#209187)

When an anonymous type is defined and has availability attributes, the
attributes are attached to the typedef rather than the type being
defined. This patch updates the anonymous type handling logic to merge
the availability from the typedef in order to correctly include it in
the symbol graph.

rdar://125497949
https://invent.kde.org/qt/clang/llvm-project/-/commit/e57b9c0761706905e42da3cfa485cebc3629d72a

Git commit 06340b81573a6824c0ddd54fcba5ae8ffacacd6f by GitHub (on behalf of Prajwal Nadig) on 17/07/2026 at 15:42..
[ExtractAPI] Include nullability attributes (#209221)

Nullability attributes (nullable, nonnull, null_unspecified,
null_resettable) add valuable context about the type, and would be
useful when viewing declarations. This patch updates ExtractAPI to
include these attributes in the symbol graph.

rdar://139097216
https://invent.kde.org/qt/clang/llvm-project/-/commit/06340b81573a6824c0ddd54fcba5ae8ffacacd6f

Git commit 709b7d1bd4a71e484702d610f81b5cf84303386f by GitHub (on behalf of Simon Pilgrim) on 17/07/2026 at 15:43..
[X86] Pull out isFoldableAsShuffle lamdba as helper function. NFC. (#210354)

For future reuse.
https://invent.kde.org/qt/clang/llvm-project/-/commit/709b7d1bd4a71e484702d610f81b5cf84303386f

Git commit de5cef3127047836fceb416f8083942783834489 by GitHub (on behalf of Andrzej Warzyński) on 17/07/2026 at 15:45..
[mlir][vector] Extend `combineContractAndBroadcast` to accept `vector.shape_cast` (#208752)

`combineContractAndBroadcast` is a pattern that matches
`vector.contract` operations whose inputs are defined by
`vector.broadcast`, e.g.:

```mlir
%0 = vector.broadcast %lhs : vector<8x4xi32> to vector<1x8x4xi32>
%1 = vector.broadcast %rhs : vector<8x4xi32> to vector<1x8x4xi32>
%result = vector.contract {
    indexing_maps = [#map0, #map1, #map2],
    iterator_types = ["reduction", "parallel", "parallel", "reduction"],
    kind = #vector.kind<add>
  } %0, %1, %acc : vector<1x8x4xi32>, vector<1x8x4xi32> into vector<8x8xi32>
```

The pattern folds away the reduction over a unit dimension introduced by
the defining operations, producing a simplified `vector.contract`:

```mlir
vector.contract {
  indexing_maps = [#[[$MAP0]], #[[$MAP1]], #[[$MAP2]]]
  iterator_types = ["parallel", "parallel", "reduction"]
} %0, %1, %acc : vector<8x4xi32>, vector<8x4xi32> into vector<8x8xi32>
```

This change extends the pattern to also accept broadcast-like
`vector.shape_cast` operations:

```mlir
%0 = vector.shape_cast %lhs : vector<8x4xi32> to vector<1x8x4xi32>
%1 = vector.shape_cast %rhs : vector<8x4xi32> to vector<1x8x4xi32>
%result = vector.contract {
    indexing_maps = [#map0, #map1, #map2],
    iterator_types = ["reduction", "parallel", "parallel", "reduction"],
    kind = #vector.kind<add>
  } %0, %1, %acc : vector<1x8x4xi32>, vector<1x8x4xi32> into vector<8x8xi32>
```

Note that `mlir::vector::isBroadcastableTo` was only moved to make it
available to the newly introduced `ShapeCastOp` helper,
`ShapeCastOp::isBroadcastLike()`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/de5cef3127047836fceb416f8083942783834489

Git commit bcb459015e12fb03e4ae3d56393883b2974f96fb by GitHub (on behalf of Zachary Henkel) on 17/07/2026 at 15:47..
Replace Python's deprecated tempfile.mktemp() with secure temp APIs (#210123)

Python's tempfile.mktemp() is deprecated and insecure: it returns a path
without creating the file, leaving a TOCTOU/symlink window before the
file is opened. Replace every use, choosing the temp API by lifetime:

- compiler-rt android_common.py adb(): tempfile.TemporaryFile
(anonymous, auto-deleted), read back via seek(0); drops manual
close()/unlink().
- compiler-rt android_common.py pull_from_device():
tempfile.TemporaryDirectory so "adb pull" writes into a private,
auto-cleaned directory.
- lldb examples delta.py / gdbremote.py start_gdb_log():
tempfile.NamedTemporaryFile(delete=False); the log must outlive the call
for a later stop_gdb_log, so it is intentionally not auto-deleted.

Reported by internal static analysis and contributed upstream for the
benefit of the wider community.

Assisted-by: GitHub Copilot CLI (Claude Opus 4.8)

I do not have commit access and will need someone to submit on my
behalf.
https://invent.kde.org/qt/clang/llvm-project/-/commit/bcb459015e12fb03e4ae3d56393883b2974f96fb

Git commit 5f7060ce4559c1079e850c96b106f1a43955b828 by GitHub (on behalf of Matheus Izvekov) on 17/07/2026 at 16:17..
[clang] remove templight support (#210166)

Removed as unmaintained, per discussion in
https://discourse.llvm.org/t/rfc-removing-templight-support/90777
https://invent.kde.org/qt/clang/llvm-project/-/commit/5f7060ce4559c1079e850c96b106f1a43955b828

Git commit 60846c8b0c1c47c03c25fe28ecaea00e698a3450 by GitHub (on behalf of Hongyu Chen) on 17/07/2026 at 16:18..
[RISCV][P-ext][NFC] Add cross-project tests for packed zip/unzip intrinsics (#209575)
https://invent.kde.org/qt/clang/llvm-project/-/commit/60846c8b0c1c47c03c25fe28ecaea00e698a3450

Git commit e9473e1e878b7518dc21c0364815781978d486de by Tony Varghese on 17/07/2026 at 16:26..
[clang][NFC] Bump the maximum number of Frontend diagnostics

The number of Frontend diagnostics in DiagnosticFrontendKinds.td is close
to the DIAG_SIZE_FRONTEND limit of 200 (195 in use). Increase the limit
to 300.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e9473e1e878b7518dc21c0364815781978d486de
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.