[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/arsenm/clang/amdgpu-test-driver-errors-march-mcpu'. Changed from 0000000000000000000000000000000000000000 to aec0ee3e9d2d1a062e6c590b2ec92a7effd1f166 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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/commit/10d1b41f8cd9aa327fb15f698a0b564a3d5c4118 Git commit aec0ee3e9d2d1a062e6c590b2ec92a7effd1f166 by Matt Arsenault on 28/07/2026 at 10:07.. clang/AMDGPU: Add missing driver tests for invalid target names Make sure -march and -mcpu both error for nonoffload and for -Xopenmp-target arguments. Defends against regression I almost introduced. https://invent.kde.org/qt/clang/llvm-project/-/commit/aec0ee3e9d2d1a062e6c590b2ec92a7effd1f166