[qt/clang/llvm]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm
Pushed by mirror-service into branch 'upstream/users/shiltian/nfc-fix-test-triple'.
Changed from 0000000000000000000000000000000000000000 to 0a0fdfd34529bf00e2c7dbefc46c646e67119f05
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 49744c0cc07c85f201267d75ec064eab743270d4 by GitHub (on behalf of Ron Green [NVIDIA]) on 16/07/2026 at 17:15..
[flang][OpenACC] Allow blanks around ':' in a gang-arg (#210089)
The parsers for the STATIC, DIM, and NUM forms of an OpenACC gang-arg
used the token strings "STATIC: ", "DIM: ", and "NUM: ", none of which
permit a blank between the keyword and the ':' separator. A space in a
TokenStringMatch pattern is the only place a blank is accepted in the
source (outside the leading/trailing skip), so a directive such as
!$acc loop gang(static : 1)
was rejected with "expected end of OpenACC directive", even though
free-form Fortran allows optional blanks around the separator.
Move the blank in each token string to before the ':' ("STATIC :", etc.)
so zero or more blanks are accepted on either side of the separator. The
_tok form keeps the blank optional, so the no-space spelling still
parses without a warning.
Add parser/unparse coverage for the spaced spellings of the static, dim,
and num gang arguments.
https://invent.kde.org/qt/clang/llvm/-/commit/49744c0cc07c85f201267d75ec064eab743270d4
Git commit 4180e2bb885271956e80344354b046a9b4cf3031 by GitHub (on behalf of Fangrui Song) on 16/07/2026 at 17:15..
[UniformityAnalysis] Make divergent-exit cycle print order deterministic (#210107)
Once the set spills to the heap its iteration order follows allocation
addresses, so the printed order is nondeterministic.
Fix https://reviews.llvm.org/D130746 ("RFC: Uniformity Analysis for
Irreducible Control Flow")
https://invent.kde.org/qt/clang/llvm/-/commit/4180e2bb885271956e80344354b046a9b4cf3031
Git commit 74dee943ac272caa4cd80a2a23c7f866dd96b4ec by GitHub (on behalf of Arthur Eubanks) on 16/07/2026 at 17:20..
[llvm-reduce] Fix !inline_history verifier issues (#199373)
We'd RAUW a function which would cause !inline_history metadata nodes to
be `ptr null` which doesn't pass the verifier.
Instead we can keep around metadata usages of the function with
replaceNonMetadataUsesWith().
https://invent.kde.org/qt/clang/llvm/-/commit/74dee943ac272caa4cd80a2a23c7f866dd96b4ec
Git commit 8da6ab53c7533b9bc1e8eb5a2c8eaf195c45c0b3 by GitHub (on behalf of UebelAndre) on 16/07/2026 at 17:31..
[bazel] Updated lit_test to work from external workspaces (#204489)
This change should not change the behavior of tests but instead ensure
that no matter where a test is run (either as an external repo or as an
overlay from `./utils/bazel`) that the rendered source paths are correct
for that context.
https://invent.kde.org/qt/clang/llvm/-/commit/8da6ab53c7533b9bc1e8eb5a2c8eaf195c45c0b3
Git commit 202cb24d246a871e7ae0b5ebf900582d76e7a334 by GitHub (on behalf of Qiongsi Wu) on 16/07/2026 at 17:39..
[clang][Modules] Adding Specific Diagnostics when a Finalized PCM is Out-of-date due to Input File Changes (#209857)
We have good diagnostics coverage when a pcm cannot be dropped in
`ASTReader::readASTCore`, because we call `canRecoverFromOutOfDate` to
check if the pcm is finalized or not. This check is missing for input
file changes.
This PR fixes the diagnostics, so we do not fall to the generic error
`err_module_rebuild_finalized`, which is hard to reason and act on.
https://invent.kde.org/qt/clang/llvm/-/commit/202cb24d246a871e7ae0b5ebf900582d76e7a334
Git commit a730dda7d520cff562e77efbe02b5bba470a2b36 by GitHub (on behalf of Qiongsi Wu) on 16/07/2026 at 17:41..
[clang][DependencyScanning] Logging Dependency Scanning Events (#195896)
This PR sets up an `AtomicLineLogger` (added by
https://github.com/llvm/llvm-project/pull/205395) to log the sequence of
dependency scanning events. The logging is triggered by a new `LogPath`
option in `DependencyScanningServiceOptions`. This PR adds an option
`-log-path=` to `clang-scan-deps` to trigger the log.
We are logging 16 events during dependency scanning.
| Event | Logged In | When |
|-------|-----------|------|
| `starting scanning command: <args>` | `DependencyScanningWorker.cpp` |
Start of each TU scan |
| `finished scanning command: <args>` | `DependencyScanningWorker.cpp` |
End of each TU scan |
| `init_compiler_instance_with_context: <args>` |
`DependencyScanningTool.cpp` | CompilerInstanceWithContext created for
by-name scanning |
| `start scan_by_name: <module name>` | `DependencyScanningTool.cpp` |
Start of a by-name module query |
| `finish scan_by_name: <module name>` | `DependencyScanningTool.cpp` |
End of a by-name module query |
| `module_compile_thread: parent=<TID> pcm_compile: <pcm path>` |
`CompilerInstance::compileModule` | A new thread is created to compile a
pcm |
| `timestamp_read: <pcm path>` |
`InProcessModuleCache::getModuleTimestamp` | Validation timestamp read |
| `timestamp_write: <pcm path>` |
`InProcessModuleCache::updateModuleTimestamp` | Validation timestamp
update |
| `pcm_write: <pcm path>` | `InProcessModuleCache::write` | PCM write to
disk attempted |
| `pcm_read_disk: <pcm path>` | `InProcessModuleCache::read` | PCM read
from disk attempted |
| `pcm_read_cached: <pcm path>` | `InMemoryModuleCache::lookupPCM` | PCM
looked up in in-memory cache |
| `pcm_add: <pcm path>` | `InMemoryModuleCache::addPCM` | PCM added to
cache (not validated) |
| `pcm_add_built: <pcm path>` | `InMemoryModuleCache::addBuiltPCM` | PCM
added to cache (final) |
| `pcm_finalized: <pcm path>` | `InMemoryModuleCache::finalizePCM` | PCM
marked as validated/final |
| `pcm_dropped: <pcm path>` | `InMemoryModuleCache::tryToDropPCM` | PCM
dropped (validation failed) |
| `pcm_not_dropped: <pcm path>` | `InMemoryModuleCache::tryToDropPCM` |
PCM not dropped (validation failed, but already final) |
In addition to checking the logger's functionality,
`clang/test/ClangScanDeps/logging-simple.c` checks against the change
committed by https://github.com/llvm/llvm-project/pull/177062. Without
https://github.com/llvm/llvm-project/pull/177062,
`clang/test/ClangScanDeps/logging-simple.c` fails.
This implementation adds a single instance of `AtomicLineLogger` to the
`DependencyScanningService`. Most of the plumbing goes into the
`ModuleCache` and its derived classes.
Assisted-by: claude-opus-4.6
rdar://39907408
https://invent.kde.org/qt/clang/llvm/-/commit/a730dda7d520cff562e77efbe02b5bba470a2b36
Git commit 908b5931ce3d9630ae3b897bd4c523945038fdcd by GitHub (on behalf of Nikita Terentev) on 16/07/2026 at 17:45..
[NFC][Clang][PowerPC] Fix suspicious unsequenced volatile accesses in codegen tests (#199338)
When trying to add new Sema check in PR
https://github.com/llvm/llvm-project/pull/180955 some tests failed.
The following pattern is observed in these tests:
```
volatile x;
x = __builtinXXX(x, x, x);
```
For C and C++ standards order of evaluate funcall argument is
unsequence(or indeterminate sequence) and unsequence access for same
volatile variable is UB(because read volatile qualified variable is
side-effects).
As far as I undestand, unsequenced accesses is unwanted and new warning
is correct.
This PR try to fix it for tests:
```
\clang\test\CodeGen\PowerPC\builtins-ppc-fma.c
\clang\test\CodeGen\PowerPC\builtins-ppc-fpconstrained.c
```
Topics on discourse:
https://discourse.llvm.org/t/suspicious-use-volatile-qualified-variable-in-clang-codegen-tests/90837
Closed similar issue for SystemZ :
https://github.com/llvm/llvm-project/issues/186584
https://invent.kde.org/qt/clang/llvm/-/commit/908b5931ce3d9630ae3b897bd4c523945038fdcd
Git commit dd2e6e03c75918dce69e9d1f46e7b356ef31c60d by GitHub (on behalf of Alexander Richardson) on 16/07/2026 at 17:55..
[RISCV][RVY] Fix DwarfRegAlias for X10_Y to X15_Y (#210104)
The initial commit had typos here missing the leading 1.
This was not noticed since we don't have any tests yet that
emit .cfi_offset etc.
Fixes 5eb3969c7a0b192d74bf4730f854d4cfc25a6c77
https://invent.kde.org/qt/clang/llvm/-/commit/dd2e6e03c75918dce69e9d1f46e7b356ef31c60d
Git commit 409f15dbb1d3853fb563e6ac902a1067411c8b9f by GitHub (on behalf of Alex Langford) on 16/07/2026 at 17:58..
[lldb] Section::GetName should return a StringRef (#209926)
Section currently owns a ConstString to hold onto its name. I plan on
changing this in the future, but first I want to remove ConstString from
its API. This commit starts with `GetName`.
https://invent.kde.org/qt/clang/llvm/-/commit/409f15dbb1d3853fb563e6ac902a1067411c8b9f
Git commit 03c539c79af2d917be5f5120fb49e714d0f23101 by GitHub (on behalf of Craig Topper) on 16/07/2026 at 18:05..
[RISCV] Use MCRegister. NFC (#210110)
https://invent.kde.org/qt/clang/llvm/-/commit/03c539c79af2d917be5f5120fb49e714d0f23101
Git commit 5d99b0a9a79dd72ae45b88a7815edaf600808698 by GitHub (on behalf of Mauri de Souza Meneguzzo) on 16/07/2026 at 18:24..
[tsan][go]: add a128 store, load, compare_exchange (#196833)
This commit adds a128 load, store and compare_exchange to the Go
sanitizer functions. This is needed for a new Go atomic type that
operate on 16-byte values.
The SANITIZER_GO macro was gating a128 and is now lifted. Based on the
__TSAN_HAS_INT128 macro definition, the only architecture excluded by it
that intersects with [Go race support
](https://go.dev/doc/articles/race_detector#Requirements) is s390x.
For https://github.com/golang/go/issues/61236
https://invent.kde.org/qt/clang/llvm/-/commit/5d99b0a9a79dd72ae45b88a7815edaf600808698
Git commit fb908ede5170c8eadb4ff86b491ca48a23f23c17 by GitHub (on behalf of Erich Keane) on 16/07/2026 at 18:33..
Add fallback type for Constrained placeholders other than plain auto. (#209893)
We were diagnosing this and leave the type in place, but that broke
invariants when
looking it up later. This patch just sets a fallback type to just the
'auto' (or a supported
type at least) instead, so that we gracefully continue.
Fixes: #208658
https://invent.kde.org/qt/clang/llvm/-/commit/fb908ede5170c8eadb4ff86b491ca48a23f23c17
Git commit 55fc45605710c642cf49a732f7d96a95c120db9f by GitHub (on behalf of Farid Zakaria) on 16/07/2026 at 18:33..
[NFC] Refactor when selecting x86-64 EH encoding to be less prone to error (#210109)
Use a case-scoped local (EHCM) rather than mutating the object file's
code model, so only the EH encoding selection is affected.
https://invent.kde.org/qt/clang/llvm/-/commit/55fc45605710c642cf49a732f7d96a95c120db9f
Git commit f6ed48325939e40940fccce886e5414d26b7114e by GitHub (on behalf of hulxv) on 16/07/2026 at 18:37..
[libc][math] reduce duplicated inv trig helpers (#191364)
Instead of duplicate inv trig helpers for float and double. we can unify
them when that is possible and drop inv_trigf_utils after moving helpers
to asin_utils and atan_utils. That makes everything clean.
https://invent.kde.org/qt/clang/llvm/-/commit/f6ed48325939e40940fccce886e5414d26b7114e
Git commit dce66b626c98c2c85b77b6b77cef24adc4f01460 by GitHub (on behalf of Damian Rouson) on 16/07/2026 at 18:38..
[Flang] [Docs] Update DO CONCURRENT status (#209299)
Update the documentation of
1. `reduce` locality support
2. `do concurrent` support (link to implementation details).
---------
Co-authored-by: Dan Bonachea <[email protected]>
Co-authored-by: Tarun Prabhu <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/dce66b626c98c2c85b77b6b77cef24adc4f01460
Git commit 37cf7d04a3a7ec460aabed51a9a383d60bc63572 by GitHub (on behalf of Zhen Wang) on 16/07/2026 at 18:39..
[flang][cuda] Fix invalid host free of managed allocatable function results (#209945)
An allocatable function result with a CUDA data attribute is allocated
with the CUDA allocator, but the caller freed the temporary with a host
`free` (via `hlfir.destroy` → `fir.freemem`), corrupting the heap.
Release it through the CUDA-aware deallocation (`cuf.deallocate`)
instead.
https://invent.kde.org/qt/clang/llvm/-/commit/37cf7d04a3a7ec460aabed51a9a383d60bc63572
Git commit 5f371b2add3e2784e6e9921b42842e2a6622e24e by GitHub (on behalf of Anshil Gandhi) on 16/07/2026 at 18:40..
[AMDGPU] Fold constant offset into SV form addressing in SVS frame index fallback (#208629)
Depends on #208624 (which depends on #208612).
In the SVS fallback path of `SIRegisterInfo::eliminateFrameIndex` for
flat scratch, the scratch address was materialized by moving the full
frame offset into the scavenged vaddr VGPR and forcing the
instruction's immediate offset to `0`, which also silently dropped
any pre-existing immediate offset on the instruction.
This splits the full constant offset with `TII->splitFlatOffset`, folding
as much as possible into the SV form instruction's immediate offset
field and materializing only the remainder (plus the frame register,
if any) into the vaddr VGPR.
Test: adds `scratch_{store,load}_svs_split_offset` to
`eliminate-frame-index-flat-scratch-svs.mir` (non-zero instruction
offset, now preserved and folded) and regenerates the existing checks.
Made with [Cursor](https://cursor.com)
Resolves https://github.com/llvm/llvm-project/issues/178968
https://invent.kde.org/qt/clang/llvm/-/commit/5f371b2add3e2784e6e9921b42842e2a6622e24e
Git commit d4f4524291d734c4b3ddb55d205c6fffeefbea6a by GitHub (on behalf of Ayokunle Amodu) on 16/07/2026 at 18:43..
[CIR][AMDGPU] Add support for AMDGCN exp2 builtins (#198025)
Adds codegen support for the following AMDGCN exp2 builtins:
- __builtin_amdgcn_exp2f (float)
- __builtin_amdgcn_exp2_bf16 (bfloat16)
These are lowered to the corresponding `llvm.amdgcn.exp2` intrinsic.
https://invent.kde.org/qt/clang/llvm/-/commit/d4f4524291d734c4b3ddb55d205c6fffeefbea6a
Git commit 4c50e41095b36cfa2e362a4f1990c4df59533836 by GitHub (on behalf of DylanFleming-arm) on 16/07/2026 at 18:46..
[libc][mathvec] Fix missing ABI-prefix from causing errors (#210127)
abi_prefix.h throws errors for unsupported ABI targets. This patch
modifies that behaviour to instead fall back onto a default
naming scheme instead, as to not break non-vfabi supporting targets.
https://invent.kde.org/qt/clang/llvm/-/commit/4c50e41095b36cfa2e362a4f1990c4df59533836
Git commit 6563d2500c82deb27c7dab9bc17334de777f8cbc by GitHub (on behalf of David CARLIER) on 16/07/2026 at 18:49..
[sanitizer_common] fix shadowed ret hiding symbolizer read failures. (#209971)
The inner `bool ret` from ReadFromFile shadowed the outer one that is
returned, so a dead/closed symbolizer (0-byte read or read error) was
reported as success: SendCommand never restarted the crashed process,
and the addr2line path aborted on a CHECK over an empty buffer.
Regression from acfeb1a6c244. Add a regression test that feeds an EOF fd
through ReadFromSymbolizer and expects failure.
https://invent.kde.org/qt/clang/llvm/-/commit/6563d2500c82deb27c7dab9bc17334de777f8cbc
Git commit e1fa984ae0a87cf6de3b656496ced466b35995c0 by GitHub (on behalf of Mariusz Borsa) on 16/07/2026 at 18:50..
[Sanitizers][Darwin] Add atos-canary test (#209338)
We've observed tests using atos symbolizer ocasionally failing for
several test runs on x86_64 machines, then stabilizing again. We were
unable to reproduce
this with local builds, so it's unclear what the root cause is.
To help investigate similar failures in the future, we're adding a test
exercising atos itself. Should atos start to fail again, this test
should fail too, and provide way more info helping debugging than other
tests do
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
---------
Co-authored-by: Mariusz Borsa <[email protected]>
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/e1fa984ae0a87cf6de3b656496ced466b35995c0
Git commit 5fc5c2e4cde7ca12cbbd3868a8c24e0bbfcf570a by GitHub (on behalf of Daniel Paoliello) on 16/07/2026 at 19:01..
[clang][win] Fix __global_delete wrappers for Arm64EC and cross-TU ::delete (#209585)
PR #188372 made Clang's MSVC-ABI deleting-destructor path route global
deletes
through compiler-generated __global_delete / __global_array_delete
wrappers
instead of referencing ::operator delete directly. This lets a deleting
destructor be emitted in environments (e.g. kernel mode) where no global
::operator delete exists: each wrapper defaults to a trapping
__empty_global_delete fallback, and a real forwarding body that calls
::operator delete is materialized only when the program actually uses
::delete.
This change refines how those wrappers and their fallbacks are emitted,
fixing
two problems that made the #188372 mechanism fail in practice.
New behavior:
- The trapping fallback is now emitted as a weak GlobalAlias to
__empty_global_delete rather than via an /alternatename directive. This
lowers
to a COFF weak-external-with-default -- exactly what MSVC emits -- so a
real
__global_delete defined in any TU overrides the fallback in every other
TU at
link time.
- A ::delete expression now registers the wrapper for its resolved
global
operator delete directly (in EmitCXXDeleteExpr), so the strong
forwarding body
is emitted in that TU regardless of where the class's deleting
destructor is
defined. This matches MSVC, which emits the forwarder at every ::delete
site.
Bugs fixed:
1. Arm64EC (miscompile -> LNK2019). /alternatename only names the plain
symbol,
not the backend-generated "$$h" hybrid EC symbol referenced by the exit
thunk, so Arm64EC images left __global_delete$exit_thunk unresolved. The
weak
GlobalAlias correctly produces the "$$h" symbol, exit thunk, and plain
alias
(verified on both x64 and Arm64EC).
2. Cross-TU ::delete (runtime crash). Previously the forwarding body was
only
emitted in a TU that *both* emitted a matching vector deleting
destructor and
contained a ::delete. A TU that only performed `::delete p` -- with the
class
defined elsewhere -- emitted no forwarder, so nothing overrode the
weak-alias
trap and the program executed a trapping __empty_global_delete at
runtime
(STATUS_ILLEGAL_INSTRUCTION). Registering the wrapper at the ::delete
site
fixes this.
To share wrapper-creation logic between the deleting-destructor path and
the
delete-expression path, getOrCreateMSVCGlobalDeleteWrapper is promoted
from a
static helper in CGClass.cpp to a CodeGenModule method.
Verified end-to-end: a weak alias in one TU and a strong forwarder in
another
resolve to the forwarder under both lld-link and MSVC link.exe, and the
previously-crashing delete-only TU now runs cleanly.
https://invent.kde.org/qt/clang/llvm/-/commit/5fc5c2e4cde7ca12cbbd3868a8c24e0bbfcf570a
Git commit db43e54c966ce9146a05bc0e8cb1550f65f89e35 by GitHub (on behalf of Andreas Jonson) on 16/07/2026 at 19:04..
[ConstraintElim] Add trunc nuw support to condition checks (#209844)
Adding support for trunc nuw %x to i1 by using the m_ICmpLike pattern in
conditions the same way as icmp ne %x, 0
proof: https://alive2.llvm.org/ce/z/ZyDWZ2
https://invent.kde.org/qt/clang/llvm/-/commit/db43e54c966ce9146a05bc0e8cb1550f65f89e35
Git commit da6f3e6cc2565e4c6cf720931845c8eee132ce86 by GitHub (on behalf of Ikhlas Ajbar) on 16/07/2026 at 19:18..
[Hexagon] Fix HexagonRDFOpt hang during live-in recomputation (#209986)
After HexagonRDFOpt, the compiler recomputed live-in registers for every
block in one batch. On large inputs (e.g. kernel builds) this was slow,
and on some functions each pass changed the live-in values of other
blocks, triggering more passes until the compiler hung (PR #207422).
Fix: process blocks one at a time in post-order (successors before
predecessors) and stop as soon as nothing changes. Add a pass limit as a
safety net to keep compile time bounded in all cases.
https://invent.kde.org/qt/clang/llvm/-/commit/da6f3e6cc2565e4c6cf720931845c8eee132ce86
Git commit c0b8c59b65afd268f286f56ef71f6433ac47dfd1 by GitHub (on behalf of David CARLIER) on 16/07/2026 at 19:24..
[compiler-rt][memprof] clear histogram tail granule on allocation. (#208911)
ClearShadow rounded the size down, leaving the partial tail counter
(ceil(size/8)-th) uncleared, so a recycled chunk leaked a stale count
into the last histogram bucket. Round up instead.
https://invent.kde.org/qt/clang/llvm/-/commit/c0b8c59b65afd268f286f56ef71f6433ac47dfd1
Git commit e59415baa96d15415a230d1c438c722dca71516e by GitHub (on behalf of Alexey Bataev) on 16/07/2026 at 19:26..
[SLP][NFC]Add tests with incorrect nsw propagation in shl/mul, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/210145
https://invent.kde.org/qt/clang/llvm/-/commit/e59415baa96d15415a230d1c438c722dca71516e
Git commit 909ba8d3508cf7177da65a4d1399f7bc5a3a4b98 by GitHub (on behalf of Changpeng Fang) on 16/07/2026 at 19:30..
[AMDGPU] Select upper 16-bits for inline constants in packed BF16 (#209861)
From gfx1250 software programming guide, v_pk_*_bf16 instructions using
inline constants must use OPSEL to select the upper 16-bits.
Fixes: LCOMPILER-2445
https://invent.kde.org/qt/clang/llvm/-/commit/909ba8d3508cf7177da65a4d1399f7bc5a3a4b98
Git commit 8116ab2889d74f25b8c5c0f0dbd7f6bb3aabfc8c by GitHub (on behalf of Florian Hahn) on 16/07/2026 at 19:36..
[InstCombine] Use getInsertionPointAfterDef to get sin/cos InsertPt. (#210130)
The current logic added in
https://github.com/llvm/llvm-project/pull/194616
picks an incorrect insert point for the argument is an invoke.
Use getInsertionPointAfterDef and bail out if there is no such insert
point.
Fixes crashes in the added tests.
Fixes https://github.com/llvm/llvm-project/issues/210111
https://invent.kde.org/qt/clang/llvm/-/commit/8116ab2889d74f25b8c5c0f0dbd7f6bb3aabfc8c
Git commit 85cc99660cf051157f0ce50e3a976312b1f829bd by GitHub (on behalf of Alexey Bataev) on 16/07/2026 at 19:38..
[SLP]Drop nsw when shl by BW-1 is converted to mul
shl nsw X, BW-1 is valid at X = -1, but mul X, INT_MIN is not nsw-safe
there. Drop nsw on the vector mul when a shl lane with shift amount
BW-1 is unified into mul during opcode interchange.
Fixes #210093
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/210152
https://invent.kde.org/qt/clang/llvm/-/commit/85cc99660cf051157f0ce50e3a976312b1f829bd
Git commit e78a880505ca0c9ed102fc48100b4cdb280f4e34 by GitHub (on behalf of Craig Topper) on 16/07/2026 at 19:44..
[RISCV][P-ext] Make undef vectors Legal. (#210106)
Add a few additional isel patterns to avoid false dependencies. We may
want to enable the BreakFalseDep pass in the future.
https://invent.kde.org/qt/clang/llvm/-/commit/e78a880505ca0c9ed102fc48100b4cdb280f4e34
Git commit 152fdb8ae8725dab7e529c5cedec1d5151506307 by GitHub (on behalf of Scott Manley) on 16/07/2026 at 19:47..
[OpenACC] emit NYI for multi-rank or non-memref type array reduction (#210143)
This should be an NYI and not an assertion
https://invent.kde.org/qt/clang/llvm/-/commit/152fdb8ae8725dab7e529c5cedec1d5151506307
Git commit 1387002dc6bee9b9f4b430afebc4141a0f603bb1 by GitHub (on behalf of Muhammad Bassiouni) on 16/07/2026 at 19:47..
[Clang][NFC] Update diagnostic handling for C2y compatibility in parser (#209920)
Follow-up on #198244 after #209241
https://invent.kde.org/qt/clang/llvm/-/commit/1387002dc6bee9b9f4b430afebc4141a0f603bb1
Git commit a11e3727f82f1395e7554f348c76a9af5f05b0b5 by GitHub (on behalf of Craig Topper) on 16/07/2026 at 19:53..
[RISCV][P-ext] Remove redundant shuffle lowering for packed widening high-half convert. (#210128)
The more general lowerVECTOR_SHUFFLEAsPZip can handle this case.
https://invent.kde.org/qt/clang/llvm/-/commit/a11e3727f82f1395e7554f348c76a9af5f05b0b5
Git commit d9d1d919de92b1086b583168b4edccfa19bc854d by GitHub (on behalf of Alex Duran) on 16/07/2026 at 20:04..
[OFFLOAD][L0] Don't return error on initImpl if library/drivers are missing (#210083)
When a Level Zero driver is not present in the environment the current
behavior makes olInit fail if the level_zero plugin is requested. This
changes the behavior to match other plugins where it doesn't fail but
return 0 supported devices.
https://invent.kde.org/qt/clang/llvm/-/commit/d9d1d919de92b1086b583168b4edccfa19bc854d
Git commit 44e3f3cb248de5c1a071182367ee719baf3683df by GitHub (on behalf of Akshay K) on 16/07/2026 at 20:05..
[CIR] Fix use-after-free when emitting ternary with a throw-expression arm (#208850)
Fixes #208848.
When a conditional operator arm is a noreturn expression, such as
`throw`, `VisitAbstractConditionalOperator` saved an insertion point in
the empty dead-code block created after the expression. The intent was
to insert a `cir.yield` later, once the types of both arms were known.
However, `LexicalScope::cleanup()` removes that empty block when the
arm’s scope exits, leaving the deferred insertion point with a dangling
block pointer.
Avoid saving the insertion point for noreturn arms. These regions
already terminate with `cir.unreachable` and do not require a
`cir.yield`. The CIR verifier accepts ternary regions that terminate
with `cir.unreachable`.
Extended `ternary-throw.cpp` with scalar-rvalue cases covering `throw`
in either arm and in both arms. The existing tests only covered glvalue
conditionals, which take the LValue emission path and never reach this
code.
https://invent.kde.org/qt/clang/llvm/-/commit/44e3f3cb248de5c1a071182367ee719baf3683df
Git commit b74a97cae97a7732df5bcdef3d09f08a2e586468 by GitHub (on behalf of firmiana) on 16/07/2026 at 20:06..
[lldb] Produce generic results for DWARF relational operations (#210122)
DWARF relational operations produce a generic result, whose width is the
target address size. LLDB currently assigns the C++ `bool` comparison
result directly to `Scalar`; because `Scalar` has no `bool` constructor,
this creates a 32-bit integer even on 64-bit targets.
The stricter binary operand checks added in #201288 exposed this in
x86-64 `_sigtramp` CFI. A later `DW_OP_plus` combines a 64-bit generic
address with the 32-bit relational result, so evaluation fails and
signal-frame unwinding stops. The generic-operand relaxation in #209641
does not cover this case because the relational result is narrower than
the address size.
Convert the results of `DW_OP_eq`, `DW_OP_ge`, `DW_OP_gt`, `DW_OP_le`,
`DW_OP_lt`, and `DW_OP_ne` through the existing `to_generic` helper.
## Testing
Add a unit test that evaluates each relational opcode with an 8-byte
address size and then consumes its result with `DW_OP_plus`.
https://invent.kde.org/qt/clang/llvm/-/commit/b74a97cae97a7732df5bcdef3d09f08a2e586468
Git commit 5b46dcf59375181dee1fbd6e1d1cdb3f0c8f5289 by GitHub (on behalf of Ilya Leoshkevich) on 16/07/2026 at 20:11..
[llvm-dwp] Fix endianness issues (#203424)
llvm-dwp fails on SystemZ, which is big-endian, as follows:
$ cat min.c
int main() {}
$ clang -g -O0 -gsplit-dwarf min.c -o min
$ llvm-dwp -e min -o min.dwp
error: compile unit exceeds .debug_info section range: 905969668 >= 58
This is because it hardcodes IsLittleEndian=true in multiple places. Fix
by forwarding endianness of the current object file.
Add a SystemZ-specific test.
Add proper big-endian support to X86/compress.test and add an
explanation regarding what the hardcoded blobs are and how they are
generated.
https://invent.kde.org/qt/clang/llvm/-/commit/5b46dcf59375181dee1fbd6e1d1cdb3f0c8f5289
Git commit c9a9737dee777f5fe19131911e8ca3c8ca3c7031 by GitHub (on behalf of Reid Kleckner) on 16/07/2026 at 20:13..
[docs] Rename LLD docs to Markdown (#209894)
Tracking issue: https://github.com/llvm/llvm-project/issues/201242
Migration guide docs:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
RFC:
https://discourse.llvm.org/t/rfc-make-myst-markdown-the-llvm-docs-format-rip-rest/90840
This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.
https://invent.kde.org/qt/clang/llvm/-/commit/c9a9737dee777f5fe19131911e8ca3c8ca3c7031
Git commit f8107f628360eb0c7c4a04af98e768ffa637c1b3 by GitHub (on behalf of Tim Corringham) on 16/07/2026 at 20:14..
[HLSL] Implement RWTexture2DArray (#208725)
Add front-end support for RWTexture2DArray, and update related tests to
include coverage of this resource.
Fixes #194947
---------
Co-authored-by: Tim Corringham <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/f8107f628360eb0c7c4a04af98e768ffa637c1b3
Git commit ab35099249433e55ba586285c2087d0bd7f65e9c by GitHub (on behalf of Reid Kleckner) on 16/07/2026 at 20:21..
[docs] Rewrite LLD docs to Markdown (#209897)
Tracking issue: #201242
This is a stacked PR based on #209894 , which will be a standalone
commit that renames *.rst -> *.md before this PR lands for history
preservation purposes. See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This was prepared with rst2myst plus LLM-assisted cleanup. I paged
through all the generated HTML looking for migration artifacts, and all
of the differences I could find appear to be formatting error
corrections. Please spot check my work and approve if it looks good.
https://invent.kde.org/qt/clang/llvm/-/commit/ab35099249433e55ba586285c2087d0bd7f65e9c
Git commit d49307497bbf9f49e6a603c605319dc39113c51c by GitHub (on behalf of Valentin Clement (バレンタイン クレメン)) on 16/07/2026 at 20:39..
[flang][cuda] Register allocator when cuf.allocate or cuf.deallocate are present (#210147)
https://invent.kde.org/qt/clang/llvm/-/commit/d49307497bbf9f49e6a603c605319dc39113c51c
Git commit fe616e4d87cfbce9317537aa95e6068ac103a373 by GitHub (on behalf of Jeff Bailey) on 16/07/2026 at 20:43..
[libc] Implement alloca.h header (#210150)
Implemented the alloca.h header for LLVM libc.
* libc/include/llvm-libc-macros/alloca-macros.h: Defined alloca macro
using __builtin_alloca.
* libc/include/alloca.yaml: Added header specification.
* libc/include/CMakeLists.txt,
libc/include/llvm-libc-macros/CMakeLists.txt: Registered the new header
and macro targets.
* libc/config/linux/*/headers.txt: Enabled the header for Linux targets
(x86_64, aarch64, arm, i386, riscv).
* libc/test/include/alloca_test.cpp, libc/test/include/CMakeLists.txt:
Added and registered functional unit tests.
Tested by running the new unit and hermetic tests.
Assisted-by: Automated tooling, human reviewed.
https://invent.kde.org/qt/clang/llvm/-/commit/fe616e4d87cfbce9317537aa95e6068ac103a373
Git commit c96a176dd15690ed8181c6764b26d0303008a40f by GitHub (on behalf of Mauri de Souza Meneguzzo) on 16/07/2026 at 20:44..
[tsan] Enable __TSAN_HAS_INT128 on s390x and mips64 (#197319)
The s390x exclusion was added in
https://github.com/llvm/llvm-project/commit/b17673816d7f65e07015489993b22049e36b04db
(https://reviews.llvm.org/D105629)
citing lack of hardware 128-bit atomics. s390x does have the CDSG
instruction,
but `alignof(__int128) == 8` on the s390x psABI while CDSG requires
16-byte
alignment, so Clang does not define
`__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16` for
this target. The mips64 exclusion has been present since
`__TSAN_HAS_INT128` was
introduced in
https://github.com/llvm/llvm-project/commit/06bbca9ec4bbc5a103c94c4973797ea4ddf944b5
(https://reviews.llvm.org/D18543) with no documented
rationale. Clang similarly does not define
`__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16`
for mips64.
Both exclusions are unnecessary. When
`__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16` is
not defined, all a128 operations use the SpinMutex-based emulation path,
which
serializes 128-bit accesses under a global lock without requiring any
hardware
CAS16 support.
Verified with Clang (targets: s390x-linux-gnu, mips64-linux-gnuabi64,
mips64el-linux-gnuabi64): all three produce the full set of 12
`__tsan_atomic128_*` symbols with zero `__sync_*_16 / __atomic_*_16`
libcall references.
Runtime testing has not been performed as I lack access to these
architectures.
Relates https://github.com/llvm/llvm-project/pull/196833
For https://github.com/golang/go/issues/61236
https://invent.kde.org/qt/clang/llvm/-/commit/c96a176dd15690ed8181c6764b26d0303008a40f
Git commit 58db4cea87114268cca4c2957232de7db9327ceb by GitHub (on behalf of Alexey Bataev) on 16/07/2026 at 20:48..
[SLP][NFC]Add a test with GEPs under the same select condition, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/210173
https://invent.kde.org/qt/clang/llvm/-/commit/58db4cea87114268cca4c2957232de7db9327ceb
Git commit 7cfe30df768f109dbaead1ed5f7538c10ba65d2e by GitHub (on behalf of Kevin Bravo) on 16/07/2026 at 20:51..
[TableGen] Short-circuit !cond operator (#208942)
Fixes #163213
TableGen `!cond` operator currently resolves all subsequent conditions
and values even if it already found a condition that resolves to `true`.
This change short-circuits on the first `true` resolution found
iterating from left to right. It folds a new `CondOpInit` with only the
conditions and values that have already been resolved, including the
current condition and value.
https://invent.kde.org/qt/clang/llvm/-/commit/7cfe30df768f109dbaead1ed5f7538c10ba65d2e
Git commit f6f08fa7e5d56aa07f9ebc51500f2c9fd6df8e1b by GitHub (on behalf of Matsu) on 16/07/2026 at 20:53..
[flang][cuda] Use managed allocation for saved locals (#210133)
Example:
```fortran
subroutine work
real, allocatable, save :: q(:)
allocate(q(10))
end
```
`SAVE` gives the local allocatable descriptor static storage. Implicitly
attributing it as Unified causes allocation to look it up as a
registered CUDA global, but no device symbol is registered for the
descriptor.
Fix: use Managed attribution for saved subprogram-local allocatables and
pointers, avoiding the invalid CUDA symbol lookup.
https://invent.kde.org/qt/clang/llvm/-/commit/f6f08fa7e5d56aa07f9ebc51500f2c9fd6df8e1b
Git commit aaa4ebd2ad174920ddce67c4641292a44788e879 by GitHub (on behalf of John Paul Jepko) on 16/07/2026 at 21:01..
[Clang][Sema] Reland -Wstringop-overread with computeDependence fix (#208012)
Reland #183004 and follow-up #205201 (reverted in #207840) which adds `-Wstringop-overread` to warn when memory functions `memcpy`, `memmove`, `memcmp`, and other related builtins read more bytes than the source buffer size.
The revert was due to a crash when a memory function is called on `&x` where `x` is a static constexpr local inside a template. The original PR exposed a bug in `computeDependence(UnaryOperator*)` where only the value-dependence bit is set for this case, when the instantiation-dependence bit should also be set. This is the root cause behind the crash.
Fix `computeDependence` to properly set both value and instantiation-dependence bits, and add a regression for this crash via `warn-stringop-overread.c`.
https://invent.kde.org/qt/clang/llvm/-/commit/aaa4ebd2ad174920ddce67c4641292a44788e879
Git commit 68f703f3e58a52c41b39dfc654a675560b6c5614 by GitHub (on behalf of Daniel Kiss) on 16/07/2026 at 21:04..
[AArch64][COFF] Branch-protection=standard/pac-ret means "b-key" on Windows (#203989)
On AArch64 Windows the `B-key` is the only supported key for userspace,
let's make "standard" and "pac-ret" options generate "b-key".
Fixes: #203852
https://invent.kde.org/qt/clang/llvm/-/commit/68f703f3e58a52c41b39dfc654a675560b6c5614
Git commit 95ff1fa00ed4c35b3589fa92b591e02444fcc5d5 by GitHub (on behalf of Anshil Gandhi) on 16/07/2026 at 21:11..
[AMDGPU] Lower uniform uaddsat.i32 to SALU insts (#210168)
Map uaddsat.i32(i32 %a, i32 %b) to the following:
```
s_not_b32 s4, s17 ; s17 = %b
s_min_u32 s4, s16, s4 ; s16 = %a
s_add_u32 s4, s4, s17
```
Co-authored-by: Shilei Tian <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/95ff1fa00ed4c35b3589fa92b591e02444fcc5d5
Git commit 0acbbccdbd5b5a218b459acc9abc6b3dc7f338a6 by GitHub (on behalf of Brad Smith) on 16/07/2026 at 21:25..
[Android] Drop workarounds for older Android API levels pre 23 (#161893)
Drop workarounds for Android API levels pre 23.
The minimum Android API currently supported by the LTS NDK is 23.
https://invent.kde.org/qt/clang/llvm/-/commit/0acbbccdbd5b5a218b459acc9abc6b3dc7f338a6
Git commit 7812fef524a0aef0b34599c2eb81b66843fbcdd8 by GitHub (on behalf of Craig Topper) on 16/07/2026 at 21:28..
[RISCV][P-ext] Add RISCVISD::PWZIP for RV32. (#210134)
This node takes 2 32-bit vector inputs and produces a 64-bit vector
result. By extracting the subvector during lowering, we expose more
opportunities for optimizations.
https://invent.kde.org/qt/clang/llvm/-/commit/7812fef524a0aef0b34599c2eb81b66843fbcdd8
Git commit 5978ac06a2cc75025703008c373fc7c94246f7a3 by GitHub (on behalf of Eric Christopher) on 16/07/2026 at 22:03..
[NFC] Inline DwarfExpression frame register check (#210186)
Inline DwarfExpression frame register check as it's the only call.
Tested via make check.
Assisted by AI.
https://invent.kde.org/qt/clang/llvm/-/commit/5978ac06a2cc75025703008c373fc7c94246f7a3
Git commit bd0395ebfe9830b1e3dc9580021fb5a3ab343a51 by GitHub (on behalf of Alexey Samsonov) on 16/07/2026 at 22:03..
[libc] Move gettimeofday to sys/time.h header. (#210185)
`gettimeofday` is supposed to be declared in the `<sys/time.h>` header,
not the `<time.h>` where we've had it previously. Move the declaration
to the correct header, and move the files with implementation and unit
tests accordingly.
Note that `gettimeofday` is removed removed from POSIX-2024, but let's
keep it available for now, since there's fair amount of existing code
that still uses it.
https://invent.kde.org/qt/clang/llvm/-/commit/bd0395ebfe9830b1e3dc9580021fb5a3ab343a51
Git commit 5ed5468f3810cd3c424eec5e9288884f67594068 by GitHub (on behalf of Eric Christopher) on 16/07/2026 at 22:04..
[NFC][LSR] Remove duplicate debug expression update (#210188)
Remove duplicate debug expression update we assigned
the same DIExpression twice so let's just remove the redundant call.
Tested via make check.
Assisted by AI.
https://invent.kde.org/qt/clang/llvm/-/commit/5ed5468f3810cd3c424eec5e9288884f67594068
Git commit 205a66201235c03b892e075ae548d6ea12f024a3 by GitHub (on behalf of Jacek Caban) on 16/07/2026 at 22:17..
[clang][mingw] Try both native and ARM64EC triples when looking for a sysroot on the ARM64EC target (#210017)
Similarly to MSVC, a MinGW toolchain may provide support for both ARM64
and ARM64EC in a single sysroot. Structuring the toolchain this way has
the additional advantage of seamlessly supporting linking ARM64X images.
Support this configuration in findClangRelativeSysroot.
https://invent.kde.org/qt/clang/llvm/-/commit/205a66201235c03b892e075ae548d6ea12f024a3
Git commit 092ac9c0c776fc5a3eddf779643d004230260300 by GitHub (on behalf of David Mentler) on 16/07/2026 at 22:19..
[lldb][test] Allow dotest.py to call for Xcode to attach (#209628)
This speeds up the debugging of API tests a little on macOS.
(AppleScript written by Claude based on Xcode.sdef)
https://invent.kde.org/qt/clang/llvm/-/commit/092ac9c0c776fc5a3eddf779643d004230260300
Git commit 0a0fdfd34529bf00e2c7dbefc46c646e67119f05 by Shilei Tian on 16/07/2026 at 22:46..
[NFC] Use new target triple for some tests
They were mistakenly reverted back to the old ones.
https://invent.kde.org/qt/clang/llvm/-/commit/0a0fdfd34529bf00e2c7dbefc46c646e67119f05