[qt/clang/llvm]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 06:12:12 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm
Pushed by mirror-service into branch 'upstream/main'.
Changed from d7575bc5e72bf15dabb9f5782a629e211bf4914a to 5e158f2fdb4ae1caf76278d991b2a83deb541506
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 66032aa8886cfffe19ecf4f3953eb9ced1455724 by GitHub (on behalf of Andres-Salamanca) on 04/08/2026 at 23:39..
[CIR] Change previous coroutine builtins to have their own coro intrinsic ops (#211699)
This PR introduces dedicated CIR operations for the coroutine intrinsics
(`coro.intrinsic.id`, `coro.intrinsic.alloc`, `coro.intrinsic.begin`,
`coro.intrinsic.free`, `coro.intrinsic.end`, `coro.intrinsic.size`)
instead of emitting them as calls to hand-created builtin functions.
LLVM IR already has its own dedicated ops for these cases, so this
follows the same pattern at CIR.
Along the way this also changes how coroutine builtins are handled in
`CIRGenBuiltin`: previously the intrinsics emitted automatically as part
of lowering `EmitCoroutineBody` and the ones triggered by an explicit
`__builtin_coro_*` call written in user source code were going through
the same path. This PR separates the two, since they're conceptually
different emission points.
New tests covering these builtins are included as well.
Also added explicit `errorNYI` messages for the remaining
`__builtin_coro_*` cases that aren't implemented yet (`coro_promise`,
`coro_resume`, `coro_noop`, `coro_destroy`, `coro_done`, `coro_end`,
`coro_suspend`, `coro_align`). @bcardosolopes The ClangIR Progress
Report (July 2026) showed 33 hits on the generic coroutine NYI error,
with no way to tell which specific builtin was missing these per case
messages fix that going forward.
A few things intentionally left out of scope for this PR, to keep it
reviewable:
- LLVM lowering for these new intrinsics follow-up PR.
- The different `coro.size` variants for 32/64-bit follow-up PR.
- `coro.end`'s current signature is wrong and needs fixing follow-up PR.
https://invent.kde.org/qt/clang/llvm/-/commit/66032aa8886cfffe19ecf4f3953eb9ced1455724
Git commit af2a0e9c8897060b4442e7d096459aad922f37d6 by GitHub (on behalf of hulxv) on 05/08/2026 at 00:38..
[compiler-rt][cmake] filter libc-backed builtins superseded by assembly (#213481)
apply
https://github.com/llvm/llvm-project/pull/209900#discussion_r3615454574
fix the duplication that causes issues like this:
```
lit-23: /__w/llvm-project/llvm-project/compiler-rt/test/builtins/Unit/lit.cfg.py:186: fatal: builtins_source_features contains duplicates: ['librt_has_floatdidf', 'librt_has_floatdisf', 'librt_has_floatundidf', 'librt_has_floatundisf']
FAILED: compiler-rt/test/builtins/CMakeFiles/check-builtins /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/CMakeFiles/check-builtins
cd /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins && /usr/bin/python3 /usr/bin/lit-23 -sv --show-xfail --show-unsupported /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/TestCases /__w/llvm-project/llvm-project/build/compiler-rt/test/builtins/Unit/X86_64LinuxConfig
ninja: build stopped: subcommand failed.
```
Part of #197824
https://invent.kde.org/qt/clang/llvm/-/commit/af2a0e9c8897060b4442e7d096459aad922f37d6
Git commit 723eaa4f83396c81212784fb0006e3ca4be19441 by GitHub (on behalf of Prabhu Rajasekaran) on 05/08/2026 at 02:00..
[libc][cmake] Enable assertions and Werror for baremetal builds (#214093)
Enable LLVM_ENABLE_ASSERTIONS and LLVM_ENABLE_WERROR in
baremetal_common.cmake
to ensure pre-merge checks catch assertion failures and compiler
warnings for
baremetal targets.
Assisted-by: Gemini
https://invent.kde.org/qt/clang/llvm/-/commit/723eaa4f83396c81212784fb0006e3ca4be19441
Git commit 3d6ac5a9ba252cbaf8d12cecef89d015f1ffe0f7 by GitHub (on behalf of Longsheng Mou) on 05/08/2026 at 02:10..
[mlir][func] Fix a crash in DuplicateFunctionEliminationPass (#209667)
Previously, we used `SymbolUserMap::replaceAllUsesWith` to replace
symbols, but this could not update the symbol table cached by
`SymbolUserMap` during traversal, leading to a crash. This PR switches
to `SymbolTable::replaceAllSymbolUses`, which always operates on the
latest symbol table and avoids the crash. Fixes #209648.
https://invent.kde.org/qt/clang/llvm/-/commit/3d6ac5a9ba252cbaf8d12cecef89d015f1ffe0f7
Git commit dbacea2912ae76f162ed622212a2804f2b32bd00 by GitHub (on behalf of Arseniy Obolenskiy) on 05/08/2026 at 03:10..
[AMDGPU] Reject non-fp16 image sample data in D16 detection while lowering image (#213272)
https://invent.kde.org/qt/clang/llvm/-/commit/dbacea2912ae76f162ed622212a2804f2b32bd00
Git commit c15a90d299f4cab284f9d5e78922a86395de40a1 by GitHub (on behalf of Zeyi Xu) on 05/08/2026 at 03:15..
[RISCV][MC] Add experimental Smijt, Ssijt, Smehv, and Ssehv support (#213431)
Add support for version 0.19 of the Smijt, Ssijt, Smehv, and Ssehv
extensions from the RISC-V fast interrupt specification.
https://invent.kde.org/qt/clang/llvm/-/commit/c15a90d299f4cab284f9d5e78922a86395de40a1
Git commit 1a176af243e78fad48ce0d6ecd1311c1e9f943d8 by GitHub (on behalf of Vicky Nguyen) on 05/08/2026 at 03:36..
[CIR][AArch64] Upstream store (vst[234]_*/vst[234]q_*) NEON builtins (#212040)
Related to https://github.com/llvm/llvm-project/issues/185382
CIR lowering for store intrinsics (`vst[234]_*`/`vst[234]q_*`)
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#store)
Port tests:
- `clang/test/CodeGen/AArch64/neon-intrinsics.c`
- `clang/test/CodeGen/AArch64/neon-ldst-one.c`
- `clang/test/CodeGen/AArch64/poly64.c`
to `clang/test/CodeGen/AArch64/neon/store.c`
https://invent.kde.org/qt/clang/llvm/-/commit/1a176af243e78fad48ce0d6ecd1311c1e9f943d8
Git commit d87c685d5d88fe00b0594fc238b9afb16ba6eb64 by GitHub (on behalf of Joseph Huber) on 05/08/2026 at 03:47..
[libclc] Add initial support for libclc execution conformance tests (#214072)
Summary:
This uses the `llvm-gpu-loader` tool to invoke OpenCL test kernels. This
routes OpenCL through the standard compute runtimes, which aren't
exactly 1-to-1 with OpenCL, but it's close enough. Obviously, the best
solution would be to have a real OpenCL host library that can launch
these, but this is the best we can get in-tree and is very sipmle, write
kernel, test kernel.
The goal is to have a lot more tests run here, but this just gets the
basic infrastructure in place. We won't be able to do full conformance
like external suites, like exhaustive math, but I think its' a step in
the right direction. It looks like this on my side:
```console
$ ninja check-libclc-amdgpu-amd-amdhsa-llvm
```
This requires building with the LLVM `offload/` runtime enabled for the
source compiler.
https://invent.kde.org/qt/clang/llvm/-/commit/d87c685d5d88fe00b0594fc238b9afb16ba6eb64
Git commit da9ca9c5aeb29e5c1f1bfc27c746d03da1e1974d by GitHub (on behalf of Thirumalai Shaktivel) on 05/08/2026 at 03:53..
[flang][driver] Support Makefile dependency generation (#209379)
Implement the GCC/Clang dependency-file flags for flang, which it
previously rejected as unknown arguments: -M, -MM, -MD, -MMD, -MF,
-MT and -MQ.
Feature:
- -MD/-MMD : write a .d file alongside a normal compile
- -M/-MM : run through semantics; emit deps to stdout by default
- -MF : dependency-file path
- -MT/-MQ : target name (verbatim / Make-quoted)
(-M==-MM and -MD==-MMD; Fortran has no system/user header split.)
Design:
- `-M`/`-MM`: driver passes `-fsyntax-only -dependency-file - -MT
<target>` to `-fc1`. Running through semantics resolves USE
statements so module file dependencies are captured in the output.
This deviates from clang's prescan-only behaviour for -M, but is
intentional: unlike C/C++ #include, Fortran's USE statement is
resolved at the semantic stage, not during preprocessing.
- `-MD`/`-MMD`: driver passes `-dependency-file foo.d -MT <target>`
alongside the normal compile action. The object file is produced as
usual, and the dependency file is written as a side effect.
- `-MF <path>` overrides where the dependency file is written.
`-MT <target>` sets the target name (the part before the colon in
the Make rule) verbatim. `-MQ` does the same but additionally
quotes characters that are special to Make.
- In `-fc1`, `-dependency-file` and `-MT` are stored in the frontend
options. After the action, `writeDependencyFile()` is called
unconditionally. It collects every file opened during the action —
the source plus all INCLUDE/#include/USE module files — via
`GetIncludedFilePaths()`, then writes the
`target: source includes...` Make rule to the specified file, or
stdout if the path is `-`.
https://invent.kde.org/qt/clang/llvm/-/commit/da9ca9c5aeb29e5c1f1bfc27c746d03da1e1974d
Git commit 442469093a0ea00244b39dfb8ab26545439fe363 by GitHub (on behalf of Amr Hesham) on 05/08/2026 at 04:21..
[CIR] Fix imag value in Scalar and Complex substraction (#214019)
Fix imaginary value in Scalar and Complex subtraction
Issue #213998
https://invent.kde.org/qt/clang/llvm/-/commit/442469093a0ea00244b39dfb8ab26545439fe363
Git commit 2e53c04bb744d354cd880e63aea792c2c7efa5bd by GitHub (on behalf of Baranov Victor) on 05/08/2026 at 04:32..
[clang-tidy][NFC] Apply readability-redundant-qualified-alias check (#214026)
https://invent.kde.org/qt/clang/llvm/-/commit/2e53c04bb744d354cd880e63aea792c2c7efa5bd
Git commit b6676fc0b946947fea23240dee2187ec619f7669 by GitHub (on behalf of Baranov Victor) on 05/08/2026 at 04:39..
[clang-tidy][NFC] Apply modernize-use-structured-binding check (#214022)
https://invent.kde.org/qt/clang/llvm/-/commit/b6676fc0b946947fea23240dee2187ec619f7669
Git commit 5e158f2fdb4ae1caf76278d991b2a83deb541506 by GitHub (on behalf of Sameer Sahasrabuddhe) on 05/08/2026 at 04:52..
[Clang][AMDGPU] Add ``amdgpu_av("none")`` attribute for atomic expressions (#199622)
Add a statement attribute that suppresses MakeAvailable/MakeVisible
cache operations on AMDGPU atomic instructions while preserving memory
ordering (waits). The attribute takes a string argument specifying the
mode. Currently "none" is the only supported mode. The resulting atomic
or fence instruction carries !mmra !{!"amdgcn-av", !"none"} metadata.
This only works with builtins that get lowered to intrinsics or
instructions. The attribute does not survive inlining. For example, a
C++ std atomic is typically a wrapper around a Clang builtin, and
applying this attribute on the std atomic does not remove the
MakeAvailableMakeVisible semantics built into it.
Part of a stack:
- #199486
- #199621
- #199489
- #208395
- #199622
Fixes: LCOMPILER-2214
Assisted-By: Claude Opus 4.6
https://invent.kde.org/qt/clang/llvm/-/commit/5e158f2fdb4ae1caf76278d991b2a83deb541506