[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/main'. Changed from 6a55a52cabb5760902af7aa970dd37a323e255ad to 6bb30c03650c9ebc816d089ea78b36a246116f07 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 776971a11fdce76b243bd94b1fe7d2b1957da969 by GitHub (on behalf of Pengcheng Wang) on 28/07/2026 at 05:25.. Revert "[RISCV] Add TuneNoDefaultUnroll to generic CPUs (#135318)" (#212400) This reverts commit 9c5858eb699390c2cac5f7f032279be275fa6aef which causes some regressions. https://invent.kde.org/qt/clang/llvm/-/commit/776971a11fdce76b243bd94b1fe7d2b1957da969 Git commit 2f6ec89938aa12ba5190477032b974524c956b54 by GitHub (on behalf of Corentin Jabot) on 28/07/2026 at 05:46.. [Clang] Implement P3658R1 (#212131) As a DR in all C++ language modes. Because we already supported the feature this is only modifying the extensions warnings. https://invent.kde.org/qt/clang/llvm/-/commit/2f6ec89938aa12ba5190477032b974524c956b54 Git commit 0a30b0c8909dca8764d994a748bd7d53c68d94f7 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 06:03.. AMDGPU: Declare FeatureDPP with AMDGPUSubtargetFeature (#212408) All other features were defined using the AMDGPUSubtargetFeature subclass of SubtargetFeature, so fix the odd one out. https://invent.kde.org/qt/clang/llvm/-/commit/0a30b0c8909dca8764d994a748bd7d53c68d94f7 Git commit de962dda125154abb64446c198b5349cf05311cb by GitHub (on behalf of Hui) on 28/07/2026 at 06:15.. [libc++] Implement P0528R3 `std::atomic` CAS for types with padding (#76180) Fixes #99984 Implement P0528R3 The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange The unit test padding.pass.cpp is assisted by Cursor. However, all tests have been modified to test what I wanted to test --------- Co-authored-by: Louis Dionne <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/de962dda125154abb64446c198b5349cf05311cb Git commit ed4090047fb6c40d8d014559da16cee934f124c0 by GitHub (on behalf of Kazu Hirata) on 28/07/2026 at 06:17.. [SampleProfile] Fix symbol partitioning in Eytzinger name table (#211906) This patch fixes the symbol partitioning between context-sensitive and flat profiles in writeEytzingerNameTableSection. In split-layout profiles, top-level symbols in the Eytzinger name table are partitioned into two bins -- context-sensitive and flat keys -- so that they form parallel arrays with function offsets. Without this patch, writeEytzingerNameTableSection uses: if (Ctx.hasContext()) to decide which bin to use even though splitProfileMapToTwo uses: if (!I.second.getCallsiteSamples().empty()) to partition the profile. This difference causes certain symbols to be classified into FlatKeys in the name table but into ContextProfileMap in the LBR profile. The patch fixes the problem by using the same condition to partition keys. This misclassification happens to top-level symbols (like main or un-inlined root callers) that lack context delimiters in their function names (hasContext() == false) but still contain inlined callees in their profile hierarchies. RFC: https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/8 Assisted-by: Antigravity https://invent.kde.org/qt/clang/llvm/-/commit/ed4090047fb6c40d8d014559da16cee934f124c0 Git commit d1ce5f95fb661999bcc99a3a816cc72c1220a36d by GitHub (on behalf of Alexis Engelke) on 28/07/2026 at 06:18.. [ASan] Instrument ptrtoaddr as pointer difference (#211988) We want to emit ptrtoaddr instead of ptrtoint for pointer differences to not expose the provenance. Adjust ASan instrumentation to handle this case as well. https://invent.kde.org/qt/clang/llvm/-/commit/d1ce5f95fb661999bcc99a3a816cc72c1220a36d Git commit f2c7e2bcd57ef2a9db23e5071618d3e02ee9c33d by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 06:20.. [libc] Fix atexit_test in hermetic mode (#210656) We never unlocked the ThreadAtExit mutex, which meant the second call to exit deadlocked. This was detected in the unit tests as they were calling __cxa_thread_atexit from the system C library. https://invent.kde.org/qt/clang/llvm/-/commit/f2c7e2bcd57ef2a9db23e5071618d3e02ee9c33d Git commit ee8bf569630bd45559227434f6cdf7aa67eb6a77 by GitHub (on behalf of Heejin Ahn) on 28/07/2026 at 06:37.. [lld][WebAssembly] Fix SharedTagKind in toString (#212385) https://invent.kde.org/qt/clang/llvm/-/commit/ee8bf569630bd45559227434f6cdf7aa67eb6a77 Git commit d81bb91dfe1a32bdb9621d483c7a059ddd56970b by GitHub (on behalf of Yuyang Zhang) on 28/07/2026 at 06:37.. [DAGCombiner] Fold insert_vector_elt into a shared BUILD_VECTOR (#210905) The `insert_vector_elt -> build_vector` fold requires the source `BUILD_VECTOR` to have a single use, to avoid duplicating it. Allow it for a multi-use base when the target sets `aggressivelyPreferBuildVectorSources`: a `BUILD_VECTOR` is just glue there (e.g. `REG_SEQUENCE` on AMDGPU), so rebuilding re-references the base's existing scalar operands and adds no real work. This un-shares a CSE-shared base produced by `insertelement` on a poison vector, so each derived vector is built from scalars independently, as GlobalISel already does. The gate mirrors the sibling `extract_vector_elt` fold: `hasOneUse() || TLI.aggressivelyPreferBuildVectorSources(VT)`. Split out from #199631 per review. Opted-in targets are AMDGPU, NVPTX, and AArch64: AMDGPU and NVPTX improve, AArch64 is unchanged; non-opted targets are unaffected. Affected AMDGPU and NVPTX tests are regenerated. The undef-deprecator flag on `splitkit-getsubrangeformask.ll` is a false positive — those are MIR subregister-def flags (`undef %reg.sub`), not IR `undef` values. https://invent.kde.org/qt/clang/llvm/-/commit/d81bb91dfe1a32bdb9621d483c7a059ddd56970b Git commit 9a5434468bf5a5aa77f46de98d17ec2eccdce39d by GitHub (on behalf of jeanPerier) on 28/07/2026 at 06:39.. [flang][NFC] Extract StackArrays analysis and rewrite into a header - memory passes unification [1/5] (#210721) Move InsertionPoint, StackArraysAnalysisWrapper, and AllocMemConversion out of the anonymous namespace in StackArrays.cpp into a new StackArrays.h header (in namespace fir), so the "which fir.allocmem can be safely moved to the stack, and where" analysis and the heap-to-stack rewrite pattern can be reused by other passes. The dataflow internals (AllocationState, LatticePoint, AllocationAnalysis), the command-line options, and all method definitions remain in the .cpp. No functional change intended. RFC: https://discourse.llvm.org/t/rfc-flang-improving-temporary-and-local-array-allocations-unify-stackarray-memoryallocation/91353 Assisted-by: AI https://invent.kde.org/qt/clang/llvm/-/commit/9a5434468bf5a5aa77f46de98d17ec2eccdce39d Git commit 4b60d133e3f80bac153bef496f56ee85936dfea1 by GitHub (on behalf of Sean Clarke) on 28/07/2026 at 06:51.. [RISCV] Add custom lowering for fixed-vector `CLMUL`/`CLMULH` (#210429) `CLMUL` and `CLMULH` currently expand for fixed vector types on RISC-V, even if `Zvbc` and/or `Zvbc32e` are available. Add custom lowering to convert to scalable vector operations according to extension availability. Assisted-by: Claude Opus 4.8 https://invent.kde.org/qt/clang/llvm/-/commit/4b60d133e3f80bac153bef496f56ee85936dfea1 Git commit b59d69d79e547a432485c18611efd2ec8d9540ca by GitHub (on behalf of Craig Topper) on 28/07/2026 at 06:51.. [RISCV][P-Ext] Unify pncvt(h) intrinsics between RV32 and RV64. (#210996) Use __builtin_convertvector for pncvt and __builtin_shufflevector for pncvth. Alternatively we could use shift+__builtin_convertvector for pncvth but that requires combining psrl+unzip(8/16)p to unzip(8/16)hp. I'm not sure which is better right now. https://invent.kde.org/qt/clang/llvm/-/commit/b59d69d79e547a432485c18611efd2ec8d9540ca Git commit ce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0 by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 06:57.. [libc] Add aligned_alloc and delete[] to hermetic tests (#210693) This lets us run (at least) <search.h> tests in hermetic mode. https://invent.kde.org/qt/clang/llvm/-/commit/ce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0 Git commit f75eef2acb00eb8ff99cf9d7abb0d1649d0cbc90 by GitHub (on behalf of Alexis Engelke) on 28/07/2026 at 07:07.. [InstCombine] Handle icmp+ptrtoint/addr folds for non-int ptrs (#212101) Followup of #211991. icmp ptrtoint, ptrtoint cannot be folded away for non-integral pointers, this is only possible with ptrtoaddr. For consistency, this also restricts the inttoptr direction, which causes the change in the phase ordering test. (Note that in this particular case, not doing the folding is actualle beneficial, as it keeps the inttoptr-inttoptr comparison outside the loop avoiding one comparison inside the loop. I wouldn't expect any practical impact, though.) https://invent.kde.org/qt/clang/llvm/-/commit/f75eef2acb00eb8ff99cf9d7abb0d1649d0cbc90 Git commit 022bf7ba97fa1897bf52cf3db2e3fa42cd19b29f by GitHub (on behalf of Fangrui Song) on 28/07/2026 at 07:08.. [LoopInfo] Take no dominator tree in verify(). NFC (#212414) Similar to the recent change that makes analyze() lazy in building DomTree. https://invent.kde.org/qt/clang/llvm/-/commit/022bf7ba97fa1897bf52cf3db2e3fa42cd19b29f Git commit 9ccf2a81a1b86c6b4d953259bbbdc678cc791493 by GitHub (on behalf of Akimasa Watanuki) on 28/07/2026 at 07:09.. [MLIR][LLVM] Preserve default function attributes on invokes (#212263) Represent `default_func_attrs` on `LLVM::InvokeOp` and translate the collection onto the generated LLVM invoke instruction. Preserve default call-site attributes when throwing calls are lowered through the LLVM dialect, including CIR `try_call` operations. https://invent.kde.org/qt/clang/llvm/-/commit/9ccf2a81a1b86c6b4d953259bbbdc678cc791493 Git commit 4df68548fcfd82ddfdfe5ae52e691966065cf2e1 by GitHub (on behalf of Lang Hames) on 28/07/2026 at 07:14.. [orc-rt] Reorder wrapper-fn args to trailing-callback style. (#212243) Bring the wrapper-function call and return prototypes into line with the convention adopted for orc_rt_Session_callController: the session handle comes first, then the payload buffer, then the completion callback immediately followed by its threaded token, with the token last. orc_rt_WrapperFunctionReturn: (S, CallId, ResultBytes) -> (S, ResultBytes, CallId) orc_rt_WrapperFunction: (S, CallId, Return, ArgBytes) -> (S, ArgBytes, Return, CallId) The C++ adapters that mirror these signatures are updated to match -- WrapperFunction::handle, SPSWrapperFunction::handle, the ORC_RT_SPS_WRAPPER macro, and StructuredYield -- along with the Session dispatch path and the affected unit tests. No functional change beyond argument order. https://invent.kde.org/qt/clang/llvm/-/commit/4df68548fcfd82ddfdfe5ae52e691966065cf2e1 Git commit 7bc2770064d3afbb4ce49c159d99c69a9e4b5c5b by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 07:25.. [libc] Make assert_test hermetic (#210700) Call our own close() instead of the system one. https://invent.kde.org/qt/clang/llvm/-/commit/7bc2770064d3afbb4ce49c159d99c69a9e4b5c5b Git commit f5437c4d4f2e9920614d856158d9683d650acffa by GitHub (on behalf of Matthias Wippich) on 28/07/2026 at 07:31.. [clang][NFC] Refactor flag enum caching (#210632) Extracts cache insertion logic from `IsValueInFlagEnum`. This allows us to drop `mutable` on `FlagBitsCache` while making it reusable as work list for additional flag_enum diagnostics. https://invent.kde.org/qt/clang/llvm/-/commit/f5437c4d4f2e9920614d856158d9683d650acffa Git commit b53f2d57b086d93dc8421c74c17913951122e9d9 by GitHub (on behalf of forking-google-bazel-bot[bot]) on 28/07/2026 at 07:39.. [Bazel] Fixes 1e1274b (#212405) This fixes 1e1274b2ddfe4643eefdd1c6c83d6c2d61dace1d (#212318). Buildkite error link: https://buildkite.com/llvm-project/upstream-bazel/builds?commit=1e1274b2ddfe4643eefdd1c6c83d6c2d61dace1d Co-authored-by: Google Bazel Bot <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/b53f2d57b086d93dc8421c74c17913951122e9d9 Git commit 39549cd7c62e9a2db44d186e0fe5d99e1473cb24 by GitHub (on behalf of StefanPaulet) on 28/07/2026 at 07:44.. [clang] Fixed predefined expressions after lambda parameters (#211811) After the parameter declaration of a lambda expression, `Sema` enters the declaration context of the lambda call operator (in `ActOnLambdaClosureParameters`), so the lambda specifiers and the trailing return type are analyzed within that context. Because of this, predefined expressions such as `__func__` resolve to the lambda call operator, and not to the possibly enclosing function. (issue #122657) Added a member to `LambdaScopeInfo` to mark whether or not the compound statement of the lambda expression has been entered, to be used when resolving a `PredefinedExpr` https://invent.kde.org/qt/clang/llvm/-/commit/39549cd7c62e9a2db44d186e0fe5d99e1473cb24 Git commit 0bcff14b1740cf32f9e0983726238dcf353c6ac8 by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 07:58.. [libc] Make <sys/mman.h> tests hermetic (#210697) The only issue was in pkey_test, which uses function-local static to do lazy initialization. This requires the c++ runtime (__cxa_guard_acquire/release). There are no threads in this test, so we can just use the (non-thread-safe) hand-rolled version of that. This is currently our only test with such a pattern. This would be something that in gtest would go into a SetUpTestSuite method, but our test framework currently doesn't have an equivalent. https://invent.kde.org/qt/clang/llvm/-/commit/0bcff14b1740cf32f9e0983726238dcf353c6ac8 Git commit 7c58d4de4af550ba3d54bf217f27a1e6b3736dbc by GitHub (on behalf of Igor Kudrin) on 28/07/2026 at 08:16.. [lldb][AArch64] Fix launching Arm32 applications on AArch64 Linux (#211692) When LLDB runs on an AArch64 Linux, it adds both 64- and 32-bit architectures as supported; see `PlatformLinux` ctor. The triple for the 32-bit variant is computed by replacing the architecture while keeping all other fields; i.e., for the main host triple `aarch64-unknown-linux-gnu`, the generated 32-bit triple is `arm-unknown-linux-gnu`. When a 32-bit target is created, its triple would be something like `arm--linux-eabihf`. This triple is incompatible with the one added to the supported architectures per condition in `ArchSpec::IsMatch()`, which checks for compatibility between environments. As a result, LLDB fails to launch this target: ``` > arm-linux-gnueabihf-g++ -g test.cpp -o test.out > lldb (lldb) file test.out Current executable set to '/tmp/test.out' (arm). (lldb) run error: failed to launch or debug process ``` Clearing the environment of the computed triple for Arm32 allows the compatibility check to pass. --------- Co-authored-by: David Spickett <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/7c58d4de4af550ba3d54bf217f27a1e6b3736dbc Git commit 162cdf496003e9bed7e7c7d0cbbd507365443b85 by GitHub (on behalf of Florian Hahn) on 28/07/2026 at 08:20.. [SCEV] Rewrite more SCEVAddExpr when applying guards. (#159942) When re-writing SCEVAddExprs to apply information from guards, check if we have information for the expression itself. If so, apply it. When we have an expression of the form (Const + A), check if we have have guard info for (Const + 1 + A) and use it. This is needed to avoid regressions in a few cases, where we have BTCs with a subtracted constant. Rewriting expressions could cause regressions, e.g. when comparing 2 SCEV expressions where we are only able to rewrite one side, but I could not find any cases where this happens more with this patch in practice. Depends on https://github.com/llvm/llvm-project/pull/160012. Proofs for some of the test changes: https://alive2.llvm.org/ce/z/RPX6t_ This comes with a slight compile-time increase, mostly due to changes in downstream optimizations (like extra unrolling). stage1-O3: +0.03% stage1-ReleaseThinLTO: +0.02% stage1-ReleaseLTO-g: +0.04% stage1-aarch64-O3: +0.04% stage2-O3: +0.03% https://llvm-compile-time-tracker.com/compare.php?from=42b4ee6383e340c4c3ab4cfddd17f864ab331e0d&to=7b5221e21c2c18152dcb72a82122730690153aed&stat=instructions%3Au Improves optimizations end-to-end in a number of cases on real-world workloads (dtcxzyw/llvm-opt-benchmark-nightly#802). PR: https://github.com/llvm/llvm-project/pull/159942 https://invent.kde.org/qt/clang/llvm/-/commit/162cdf496003e9bed7e7c7d0cbbd507365443b85 Git commit 8e9802b45829d473bce51197ce95f3ab40d94426 by GitHub (on behalf of David Spickett) on 28/07/2026 at 08:24.. [lldb][test] Do not return a PID in TestGdbClientModuleLoad (#212256) This test has been flaky on x86 Github CI. It expects: [ 0] {{.*}} 0x0000000000ee0000 {{.*}}module_load [ 1] {{.*}} 0x0000000000ef0000 {{.*}}[vdso] However in one run it got: [ 0] 98FC07B8 0x0000000000ef0000 [vdso] (0xef0000) [ 1] 75B11BBB-EF8B-5645-B9B1-A7261EC8ABCF-05413284 0x0000000000ed8ed0 /home/gha/actions-runner/bin/Runner.Worker This happened because the responder says it's debugging PID 0x47, which is usually some root process that we cannot read the /proc/pid/exe link for. However when it is readable, we will assume that is the program file and it replaces the "module_load" entry (this never happened on AArch64 because an AArch64 program file is never compatible with an x86 triple). In the failing case, 0x47 happened to be a github runner process that lldb could get the exe for. I was able to reproduce this by putting a long sleep in the background and replacing 0x47 with that sleep's PID. To fix this I am returning the value of `PID_MAX_LIMIT` which is the limit of what `pid_max` can be set to. This should be parsed by lldb into an invalid PID and cause it to give up looking at the host. I tried returning 0, this found a process somehow, returning no PID at all, again it found a process. The only other way is to make this test connect to a fake remote linux platform first, but this would take much more code to set up. https://invent.kde.org/qt/clang/llvm/-/commit/8e9802b45829d473bce51197ce95f3ab40d94426 Git commit 697f9892bef88f22f630e7e78541dd29d3cd716b by GitHub (on behalf of David Green) on 28/07/2026 at 08:29.. [AArch64][GlobalISel] Update regbank tests with concrete types. NFC (#212367) https://invent.kde.org/qt/clang/llvm/-/commit/697f9892bef88f22f630e7e78541dd29d3cd716b Git commit 6aeeec83ec1d979ea2a2e3f4629ac361b5cdb70e by GitHub (on behalf of David Spickett) on 28/07/2026 at 08:40.. [lldb][test] Skip TestGuiSpawnThreads.py on Linux (#212431) See https://github.com/llvm/llvm-project/issues/209874. We are still hitting the larger timeout. https://invent.kde.org/qt/clang/llvm/-/commit/6aeeec83ec1d979ea2a2e3f4629ac361b5cdb70e Git commit c6603cce864078da43741e36fb9586a6c72782fe by GitHub (on behalf of Matthias Wippich) on 28/07/2026 at 08:52.. [clang][NFC] generate TokenKey from tablegen (#210857) Currently the enumerator constants of `TokenKey` are duplicated between TokenKinds.h and Traits.td. This patch generates the `TokenKey` enum from tablegen. This is a followup patch for https://github.com/llvm/llvm-project/pull/201491#discussion_r3567423553 https://invent.kde.org/qt/clang/llvm/-/commit/c6603cce864078da43741e36fb9586a6c72782fe Git commit 564be89eaee5227ec21980ca2054f00d595044c7 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 08:53.. clang: Fix subarchless amdgpu triples in offload bundler tests (#212424) https://invent.kde.org/qt/clang/llvm/-/commit/564be89eaee5227ec21980ca2054f00d595044c7 Git commit 10d1b41f8cd9aa327fb15f698a0b564a3d5c4118 by GitHub (on behalf of Lang Hames) on 28/07/2026 at 08:56.. [ORC] Fix buildSimpleReexportsAliasMap signature. (#212420) The header declared a `const SymbolNameSet&` argument, but the implementation took a `SymbolNameSet` by value. Update the implementation to also take a `const SymbolNameSet&`. No testcase. The corrected implementation will be used in an upcoming commit. https://invent.kde.org/qt/clang/llvm/-/commit/10d1b41f8cd9aa327fb15f698a0b564a3d5c4118 Git commit 437b42f23250660f9a3f262ca6626324cd32a094 by GitHub (on behalf of Kevin Bravo) on 28/07/2026 at 09:01.. [TableGen] don't print redundant diagnostic when parser sees Error token at end of file. (#212410) Fixes #151476. Currently TableGen parser emits `error: Unexpected token at top level` when it sees `tgtok::Error` token after failing to parse the object list, even though that token's corresponding diagnostics were already emitted during lexing. This change makes `ParseFile` return true when it sees `tgtok::Error` at end of file, thereby avoiding the redundant diagnostic. https://invent.kde.org/qt/clang/llvm/-/commit/437b42f23250660f9a3f262ca6626324cd32a094 Git commit b349bef025f294ef100d02ac8c928836cd979f3f by GitHub (on behalf of David Green) on 28/07/2026 at 09:02.. [AArch64][GlobalISel] Use integer type for cttz icmp type. (#212327) https://invent.kde.org/qt/clang/llvm/-/commit/b349bef025f294ef100d02ac8c928836cd979f3f Git commit 6520ac73f22d53e93e5ae8da6351a1714723497c by GitHub (on behalf of David Spickett) on 28/07/2026 at 09:03.. [lldb][test][AArch64] Add test for AArch32 compatibility execution (#211793) This should catch obvious problems like the one in #211692 in future. To run AArch32 programs on AArch64 you need a few things: * Hardware that has AArch32 mode at EL0. * A kernel built with CONFIG_COMPAT on. * (usually) A bunch of 32-bit libraries installed. We are dodging the 3rd one by compiling a standalone assembly program that doesn't use any other libraries. With clang being a cross-compiler and lld a cross-linker, we should be able to do this without any 32-bit compatibility libraries being installed. To check for the first 2, we run that program normally. If it fails to run, we don't have them. If it does run, we have to double check that it's not being emulated. If it is not being emulated, finally we can run it with lldb to check that lldb works correctly. Inside of lldb we place a breakpoint and read some registers. GPRs are set to their own register number, and FPR to their register number plus 1. So if we mixed up the set order, we would know about it. Tested on a Graviton 3 which allowed AArch32 execution and a Graviton 5 which did not. For the latter, the error without an emulator is: ``` $ ~/test.o -bash: /home/davspi01/test.o: cannot execute binary file: Exec format error ``` This we detect when `Popen` fails. If you install qemu and setup binfmt_misc, we detect that via. the exe path: ``` $ ~/test.o & [2] 433187 $ ls -la /proc/433187/exe lrwxrwxrwx 1 davspi01 davspi01 0 Jul 27 11:47 /proc/433187/exe -> /usr/bin/qemu-arm ``` https://invent.kde.org/qt/clang/llvm/-/commit/6520ac73f22d53e93e5ae8da6351a1714723497c Git commit 2d7aaf670d704bbb4bfb3ef023f18ba0b85b58c7 by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 09:04.. [libc] Fix path collisions between unit and hermetic tests (#212425) Use the APPEND_LIBC_TEST macro to ensure each test gets a unique path to operate on. Enable the affected tests in hermetic mode. https://invent.kde.org/qt/clang/llvm/-/commit/2d7aaf670d704bbb4bfb3ef023f18ba0b85b58c7 Git commit 636d8a253e71651ffa75f3bb515a14de0f20341d by GitHub (on behalf of David Spickett) on 28/07/2026 at 09:05.. [lldb][AArch64][Linux] Track all register cache validity in one place (#197113) In this change I've expanded the existing RegisterSetType enum to be used as part of a singular cache tracking object which replaces all the separate booleans. These booleans were hard to track and set/reset in the right places. This new validity object can be reset by default constructing, and uses a member initialiser so everything starts out as invalid. RegisterSetType is now a bitmask enum for easier storage. It's 32-bit now which is enough for now. Just in case we expand it. (and I previously updated all sizeof calls to use RegisterSetType instead of the raw type) The SME and SME 2 entries have been renamed to ZA and ZT as this is what ptrace calls them. Note that SME's pseudo registers are still managed in their own unique way, I hope to address that later. Over time, RegisterSetType will become the key for all the operations in the register context. You can see a preview of that "vision" in #193174. For instance getting the buffer location and size, looking up the ptrace set number, finding out what a set write invalidates, and so on. I did consider using optional for the register storage. I think this could work if we had done it from the beginning but starting from this point it has too many issues with it. * We cannot assume that sizeof(buffer) == sizeof(buffer_type). Which leads to some places where you have to write sizeof(some_generic_type). Which is not ideal. Being able to use the member variable name is clearer. * We have to make the buffer "valid" before trying to read, then make it invalid if it fails. Rather than read and if it succeeds mark it valid. 3 steps vs. 2. * Some things like SVE resize the buffer when we get the new vector length, then at some point later assume the buffer can hold the result of a read. We'd have to track the expected size separately, and use that to resize it just before read. Which is not difficult, but it's a different strategy and I don't want to disturb all the SVE/SME handling at this stage. * Though our buffer + bool is in theory an optional, the way the class is designed where one thing fills the buffer and another reads from it later, the flexibility of when to set the bool does help us. Versus the automatic handling optional does. Once this whole class has been simplified and I can see the "unusual" code paths more easily, I might revisit the optional idea. https://invent.kde.org/qt/clang/llvm/-/commit/636d8a253e71651ffa75f3bb515a14de0f20341d Git commit a1194be1baefa99d20a09bd04b16056be0ab7225 by GitHub (on behalf of Arseniy Obolenskiy) on 28/07/2026 at 09:05.. [SPIR-V] Fix hex float exponent for f64 Inf/NaN literals (#212295) The asm printer hardcoded the f32 exponent (+128) when printing Inf/NaN as hex floats, so f64 Inf/NaN literals were misencoded and silently reassembled as finite values by consumers Derive the exponent from the operand actual semantic instead https://invent.kde.org/qt/clang/llvm/-/commit/a1194be1baefa99d20a09bd04b16056be0ab7225 Git commit 7e1719546578ed523f5deb4ac499cdc833280d9c by GitHub (on behalf of Wenju He) on 28/07/2026 at 09:27.. [LoopUnroll] Allow vector types for minmax reductions (#207630) Our downstream patched RecurrenceDescriptor in IVDescriptors.cpp to recognize min/max reductions on vector-typed phis. After ffa02793, vector min/max intrinsic reductions now flow into getReductionIdentity() with vector type and then runtime-unroll-reductions-min-max.ll test crashed. This PR upstreams our RecurrenceDescriptor change to avoid further downstream change to LoopUtils.cpp (in this PR) that fixes the crash. LIT change in runtime-unroll-reductions-min-max.ll shows a long serial reduction chain now breaks into two independent ones, which is the purpose of unroll-add-parallel-reductions. --------- Co-authored-by: skozhukh <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/7e1719546578ed523f5deb4ac499cdc833280d9c Git commit b626ec036e8551c4aa7d548e718bc5aa91562be0 by GitHub (on behalf of Peng Sun) on 28/07/2026 at 09:42.. [mlir][tosa] Add FP8 and MXFP support to RESIZE (#212276) - Added FP8 and all six MXFP extension/type combinations - Updated RESIZE availability and enforced NEAREST_NEIGHBOR for MXFP - Added positive, negative, version, extension, mixed-type, and verifier tests. Signed-off-by: Peng Sun <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/b626ec036e8551c4aa7d548e718bc5aa91562be0 Git commit 74aae4e43edbf1843b886516893fd2b880d70dfa by GitHub (on behalf of Ramkumar Ramachandra) on 28/07/2026 at 09:53.. [VPlan] Eta-reduce fn in pullOutPermutations (NFC) (#212439) fun x => f x can be eta-reduced to just f. https://invent.kde.org/qt/clang/llvm/-/commit/74aae4e43edbf1843b886516893fd2b880d70dfa Git commit b443896c13aded8b40d7bae4a5a9adbc96fd0d31 by GitHub (on behalf of Ramkumar Ramachandra) on 28/07/2026 at 10:18.. [VPlan] Use pointee-range in blocksOnly (NFC) (#212441) The map_range can be replaced by make_pointee_range. https://invent.kde.org/qt/clang/llvm/-/commit/b443896c13aded8b40d7bae4a5a9adbc96fd0d31 Git commit 6bb30c03650c9ebc816d089ea78b36a246116f07 by GitHub (on behalf of Matthias Wippich) on 28/07/2026 at 10:45.. [clang][NFC] fold ExpressionTraits and TypeTraits helpers into BuiltinTraits (#210838) ExpressionTraits.h defines utilities such as `getTraitName`, `getTraitSpelling` and an enumeration for expression traits. All other overloads of these utilities can be found in TypeTraits.h - this patch combines them to BuiltinTraits.h/cpp. This is a followup patch for https://github.com/llvm/llvm-project/pull/201491#discussion_r3460883247 https://invent.kde.org/qt/clang/llvm/-/commit/6bb30c03650c9ebc816d089ea78b36a246116f07