[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/tstellar/merge-doxygen'. Changed from e81aaf514ee1cc9a55b7d701bb85d327fd39b94f to b160ed881821bb138c9bd3c9bf29c7626933df46 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 ada3f57b9f2d2b26a354af2572d4fec4ace01185 by GitHub (on behalf of Gauarv Chaudhary) on 05/08/2026 at 17:19.. [WebAssembly][FastISel] Fix sext i1 to i64 with +sign-ext (#213734) (#214007) Fixes #213734 --- ## Summary At `-O0`, WebAssembly FastISel could miscompile programs that sign-extend an i1 value to i64 when the `+sign-ext` target feature is enabled. The bug was introduced in LLVM 23 by the FastISel sign-ext optimization (#179855). For `sext i1 to i64`, FastISel fell through its switch without emitting any instruction and returned an undefined register. Code that uses this pattern to adjust integer division results (such as floor division) could then compute the wrong answer. The issue reporter saw `-1` instead of the correct `-2`. This patch restructures `signExtend()` so i8, i16, and i32 still use their native WebAssembly sign-extension instructions, while i1 goes through the existing generic path: sign-extend in i32 via shifts, then `i64.extend_i32_s`. ## Test plan - [x] Added `i64_extend1_s` to `signext-inreg.ll` (covers FastISel and DAG, with and without `+sign-ext`) - [x] Verified issue repro: `llc repro.ll -O0` now returns `-2` (was `-1`); `--fast-isel=false` still returns `-2` - [x] `./bin/llvm-lit -j1 ../llvm/test/CodeGen/WebAssembly` <img width="3072" height="1920" alt="image" src="https://github.com/user-attachments/assets/0944887b-54b8-4e8d-8291-a64b03ff3786" /> --------- Signed-off-by: Gaurav Chaudhary <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/ada3f57b9f2d2b26a354af2572d4fec4ace01185 Git commit 6336cc85c5c061ead5da55d05203811df31de8af by GitHub (on behalf of Yonah Goldberg) on 05/08/2026 at 17:20.. [AtomicExpand][NVPTX] Fix integer vector cmpxchg loops and partword atomicrmw (#211497) After https://github.com/llvm/llvm-project/pull/190716, we now allow integer vector `atomicrmw`, and these should be expanded using `cmpxchg` loops. Currently, these are throwing an assert in `NVPTXISelLowering.cpp`: `assert(Ty->isIntegerTy() && "Ty should be integer at this point");` here I fix that. Second, we are handling partword integer vector `cmpxchg` loops (namely, `<2 x i8>` incorrectly in some cases. The first issue is for `Add` and `Sub`, where we optimize by performing the operation on the word size. This works because even if we overflow or underflow the partword, we handle this by masking back on the the other original loaded bits that we are not operating on. We can't, however, implement a `<2 x i8>` add using a scalar 32-bit add, because the vector variant overflows lane-wise, which can't be emulated with a scalar 32-bit add. I think there might be a way to implement it with a `<4 x i8>` add, but I'm not sure if it's worth it, maybe I'll add that in the future. For now, just go the normal route of extracting out the `<2 x i8>` from the word and performing the `Add` and `Sub` on `<2 x i8>`. Third, for `widenPartwordAtomicRMW`, this operates on `Or`, `Xor`, `And`, all of which the corresponding scalar operation works the same as the integer vector operation. So we can implement these using the scalar word-size operation, we were just missing a `bitcast` from the vector to the scalar. https://invent.kde.org/qt/clang/llvm/-/commit/6336cc85c5c061ead5da55d05203811df31de8af Git commit 56dc58dc2550fa23f4c812d28c30d3d34de2e772 by GitHub (on behalf of Yihan Wang) on 05/08/2026 at 17:22.. [Clang][Preprocessor] Unify header-name lookahead for import and include (#191004) Introduce Preprocessor::isNextPPTokenHeaderNameOrOneOf to centralize lookahead logic for header-name formation and token classification under ParsingFilename mode. Refactor handling of C++20 module/import contextual keywords and LexHeaderName to use the new helper, ensuring consistent behavior between `import` and `#include`. Try to form a valid header-name token during lookahead. If that fails and the next token is not one of the expected alternatives, treat it as not an `import` directive or as an invalid `#include` (missing <FILENAME>/"FILENAME"). ```cpp #define FOO foo> #include <:FOO ``` Now such cases are rejected as expected. Also adjusts peekNextPPToken to properly support dependency directive lexers. No functional change intended for valid code; improves correctness and consistency in edge cases involving header-name lexing. Fixes https://github.com/llvm/llvm-project/issues/190693. --------- Signed-off-by: yronglin <[email protected]> Signed-off-by: Yihan Wang <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/56dc58dc2550fa23f4c812d28c30d3d34de2e772 Git commit 4e725a2c756f32c4fe7512d9b30c6bf831e4d4a5 by GitHub (on behalf of Tom Stellard) on 05/08/2026 at 17:25.. workflows/upload-release-artifact: Make this action self-contained (#213828) The action now checks out its own files so calling workflows don't need to do this. This helps prevent mistakes where the calling workflow does not checkout the right files causing this action to fail. https://invent.kde.org/qt/clang/llvm/-/commit/4e725a2c756f32c4fe7512d9b30c6bf831e4d4a5 Git commit 41d5f4c5e6701938079b7ffc5748f612d151f51c by GitHub (on behalf of Nick Sarnie) on 05/08/2026 at 17:25.. [offload] Add CUDA_ROOT to path for unit tests (#214282) We need this to fix the test added in https://github.com/llvm/llvm-project/pull/212860. Right now it errors saying it can't find `ptxas`. We already have code doing this for the e2e tests, but we also need it for the unit tests. We had a similar fix for AMDGPU in https://github.com/llvm/llvm-project/pull/213149. Locally reproduced the issue and verified the fix. Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/41d5f4c5e6701938079b7ffc5748f612d151f51c Git commit e0d05a146f71403bd6bc913cf96cd84632b0cb55 by GitHub (on behalf of Dan Liew) on 05/08/2026 at 17:28.. [CodeGen][NFC] Split __sized_by tests into their own file and rename test cases (#213793) In future patches the coverage of the `__counted_by` family of attributes will be increased. To help with this, this patch refactors the existing test file. 1. Split `__sized_by` tests into their own file. In later patches files will be added for each attribute, so it makes sense for each attribute to have its own file. 2. Replace `testN` test case names with human-readable descriptions. Not all test cases that will be added in the future will apply to all attributes. If we kept using the `testN` naming convention it would leave odd gaps in the test numbering, because we try to keep what a test case tests consistent across files (i.e. `testN` would roughly test the same thing but with a different attribute). Using named test cases completely avoids this. https://invent.kde.org/qt/clang/llvm/-/commit/e0d05a146f71403bd6bc913cf96cd84632b0cb55 Git commit ec62b5ae07df222f06526d5260cf6baea28c7a30 by GitHub (on behalf of Carlos Seo) on 05/08/2026 at 17:37.. [flang][OpenMP] Fix wrong results for FORALL in a workshare construct (#211371) A FORALL in a workshare construct could produce wrong results non-deterministically. This is caused by two issues in the workshare lowering: 1. A FORALL whose left-hand side may overlap its right-hand side is lowered into two loop nests around a runtime value stack: the first nest evaluates each right-hand side and pushes it, the second one fetches the saved values back with a running counter. That counter lives in a fir.alloca which, since omp.parallel is an alloca scope, is thread private. The counter is read, incremented and written back from inside the omp.single generated for the fetch, because the incremented value is only available there. Only the thread which executed the omp.single therefore bumped its own copy of the counter, and all the other threads kept a stale one and refetched an already consumed element on the following iterations. Collect the thread local memory which is only updated by the thread executing an omp.single and broadcast it with copyprivate, so that the copies of the other threads stay in sync. As nowait and copyprivate are mutually exclusive on a single construct, nowait is no longer set when there is something to broadcast. 2. nowait was only suppressed when the immediately enclosing operation was loop-like. A masked FORALL introduces a fir.if inside the fir.do_loop, so the last omp.single or omp.wsloop of the fir.if body was given nowait even though the loop may run it again, and even though there was more work after the loop. Thread the information down the recursion instead, so that only the work which is really last in the whole omp.workshare region may rely on the barrier emitted at the end of that region. Fixes #209942 Fixes #209943 https://invent.kde.org/qt/clang/llvm/-/commit/ec62b5ae07df222f06526d5260cf6baea28c7a30 Git commit 9937874bd3312aaa4c60b9eedaffd55328f72cc3 by GitHub (on behalf of Maria Fernanda Guimarães) on 05/08/2026 at 17:38.. [clangd][HLSL] Add hover support for vector swizzle and matrix element access (#212741) Hovering over a vector swizzle expression (e.g. `.xyz`) or a matrix element access (e.g. `._m00`) previously produced no hover information, since ExtVectorElementExpr and MatrixElementExpr were not handled in getHoverContents(const Expr *E). This patch adds support for these expressions within `getHoverContents` by extracting the accessor name and resolved type for both node kinds. Fixes #212612 https://invent.kde.org/qt/clang/llvm/-/commit/9937874bd3312aaa4c60b9eedaffd55328f72cc3 Git commit 1e9d4f40360b0e4a67c7a0547da54a3c5caf62b6 by GitHub (on behalf of Kazu Hirata) on 05/08/2026 at 17:48.. [AsmPrinter] Use DenseMap instead of MapVector (NFC) (#214256) MBBSectionNumBlocks is accessed only via MapVector::operator[]. This patch changes its type to DenseMap to avoid populating the vector portion of MapVector. https://invent.kde.org/qt/clang/llvm/-/commit/1e9d4f40360b0e4a67c7a0547da54a3c5caf62b6 Git commit 9a793fd6d5ebd40bccd5d718c33f0a9dc29839c7 by GitHub (on behalf of Chinmay Deshpande) on 05/08/2026 at 17:52.. [AMDGPU] Autogen tests with new changes (#214286) Missed in https://github.com/llvm/llvm-project/pull/214040 https://invent.kde.org/qt/clang/llvm/-/commit/9a793fd6d5ebd40bccd5d718c33f0a9dc29839c7 Git commit 25e1c16ecb5e9c3a37f15f02b89a94abc9af24f6 by GitHub (on behalf of Jessica Clarke) on 05/08/2026 at 17:57.. [clang][Lex] Fix ambiguous reference to Token error (#214300) At least with GCC 11.4.0 this is deemed an error. Fixes: 56dc58dc2550 ("[Clang][Preprocessor] Unify header-name lookahead for import and include (#191004)") https://invent.kde.org/qt/clang/llvm/-/commit/25e1c16ecb5e9c3a37f15f02b89a94abc9af24f6 Git commit 990e4f95698694db8221f3939dac5f9979913e58 by GitHub (on behalf of Karim Alweheshy) on 05/08/2026 at 17:57.. [compiler-rt][Bazel] Support profile runtime on macOS and iOS (#214154) https://invent.kde.org/qt/clang/llvm/-/commit/990e4f95698694db8221f3939dac5f9979913e58 Git commit 2437b03ee6cc066a66503f6dcb69e1c613f059be by GitHub (on behalf of Tom Stellard) on 05/08/2026 at 18:06.. workflows: Remove unnecessary checkouts before uses of upload-release-artifact (#213830) The workflow is now self-contained and checks out its own scripts, so we don't need to do this in the calling workflow. The '$' prefix in the uses tag tells github actions to load the action from the repository directly rather than searching for it on the local file system. https://github.blog/changelog/2026-07-30-reference-same-repository-actions-with-self-repository-syntax/ https://invent.kde.org/qt/clang/llvm/-/commit/2437b03ee6cc066a66503f6dcb69e1c613f059be Git commit 9b32a7f290b4626c718bc08343b02ae960fb1609 by Tom Stellard on 05/08/2026 at 18:12.. workflows/release-documentation: Rework workflow to make it testable Removed the environment declaration from the validation job and split out the www-releases update into a separate job. This makes it safe and possible to add a pull_request trigger so we can at least test building the documentation when someone submits a pull request. https://invent.kde.org/qt/clang/llvm/-/commit/9b32a7f290b4626c718bc08343b02ae960fb1609 Git commit 195ea90deadea583ed1f060eb514706b549ae099 by Tom Stellard on 05/08/2026 at 18:25.. workflows/release-documentation: Rework workflow to make it testable Removed the environment declaration from the validation job and split out the www-releases update into a separate job. This makes it safe and possible to add a pull_request trigger so we can at least test building the documentation when someone submits a pull request. https://invent.kde.org/qt/clang/llvm/-/commit/195ea90deadea583ed1f060eb514706b549ae099 Git commit 96bd0a6d0547ba8ddbccefbe24e5abb5b5cb93bf by Tom Stellard on 05/08/2026 at 18:26.. More fixes https://invent.kde.org/qt/clang/llvm/-/commit/96bd0a6d0547ba8ddbccefbe24e5abb5b5cb93bf Git commit 8406eaf527bf1036af35e28d0186385c6e3180c2 by Tom Stellard on 05/08/2026 at 18:26.. Cleanups https://invent.kde.org/qt/clang/llvm/-/commit/8406eaf527bf1036af35e28d0186385c6e3180c2 Git commit 9194138d8d1581e1f298b9a688ce67021731e400 by Tom Stellard on 05/08/2026 at 18:26.. Fix build of libcxx docs https://invent.kde.org/qt/clang/llvm/-/commit/9194138d8d1581e1f298b9a688ce67021731e400 Git commit ec32274a01279e2d708873a73e838202c7640288 by Tom Stellard on 05/08/2026 at 18:26.. Fix typo https://invent.kde.org/qt/clang/llvm/-/commit/ec32274a01279e2d708873a73e838202c7640288 Git commit cd587901c36603bb4dcb5d752f97210942bcebbf by Tom Stellard on 05/08/2026 at 18:26.. Fix typo https://invent.kde.org/qt/clang/llvm/-/commit/cd587901c36603bb4dcb5d752f97210942bcebbf Git commit fadc6acbd82c4aa5df5c64484cc7112ab8a004d2 by Tom Stellard on 05/08/2026 at 18:26.. Revert "Fix typo" This reverts commit a5d98fb1210839d7b0fe58b0be77ed6d379226b4. https://invent.kde.org/qt/clang/llvm/-/commit/fadc6acbd82c4aa5df5c64484cc7112ab8a004d2 Git commit f1741b40f3dcadfc92362b3b726eed56da7f19fb by Tom Stellard on 05/08/2026 at 18:27.. Revert "Fix typo" This reverts commit f90c6dd3e5c5855b327b059982eb94d0ab3a0f73. https://invent.kde.org/qt/clang/llvm/-/commit/f1741b40f3dcadfc92362b3b726eed56da7f19fb Git commit dcee91ecd6b828a019daf2db3da0ab4e059e4c23 by Tom Stellard on 05/08/2026 at 18:27.. Revert "Fix build of libcxx docs" This reverts commit 179432674685f1eb5a7546f1fa1434ab75fee36f. https://invent.kde.org/qt/clang/llvm/-/commit/dcee91ecd6b828a019daf2db3da0ab4e059e4c23 Git commit d81e053557b983a890820f166fd0e52fb3a8fe5a by Tom Stellard on 05/08/2026 at 18:27.. debug https://invent.kde.org/qt/clang/llvm/-/commit/d81e053557b983a890820f166fd0e52fb3a8fe5a Git commit e5cfe9569662d6af5b4e66a82f9f16d22eb8c9d6 by Tom Stellard on 05/08/2026 at 18:28.. Fixes and cleanups https://invent.kde.org/qt/clang/llvm/-/commit/e5cfe9569662d6af5b4e66a82f9f16d22eb8c9d6 Git commit 9b0d19fd2a0f71969f3f426dd2838916c80fce4d by Tom Stellard on 05/08/2026 at 18:28.. Fix https://invent.kde.org/qt/clang/llvm/-/commit/9b0d19fd2a0f71969f3f426dd2838916c80fce4d Git commit 0f481a00e69c768d220a8b55847b55bf32d8b793 by Tom Stellard on 05/08/2026 at 18:28.. XXX: Debug https://invent.kde.org/qt/clang/llvm/-/commit/0f481a00e69c768d220a8b55847b55bf32d8b793 Git commit c43174686431f2aee4b1181d16c3391471c0692e by Tom Stellard on 05/08/2026 at 18:28.. Debug https://invent.kde.org/qt/clang/llvm/-/commit/c43174686431f2aee4b1181d16c3391471c0692e Git commit 32782caf3d5e9fbc3d70e4f1e7d83c7b1c44d114 by Tom Stellard on 05/08/2026 at 18:28.. Remove debug https://invent.kde.org/qt/clang/llvm/-/commit/32782caf3d5e9fbc3d70e4f1e7d83c7b1c44d114 Git commit 36d34c5912b87d2c6352fc0548f49fe8257ae7c4 by Tom Stellard on 05/08/2026 at 18:28.. Revert "XXX: Debug" This reverts commit ef443b1bebd360a4aad44d46b2a63621ccaba589. https://invent.kde.org/qt/clang/llvm/-/commit/36d34c5912b87d2c6352fc0548f49fe8257ae7c4 Git commit 92ec120e04d602868ee702630d0371a080ffedee by Tom Stellard on 05/08/2026 at 18:29.. Remove permissions https://invent.kde.org/qt/clang/llvm/-/commit/92ec120e04d602868ee702630d0371a080ffedee Git commit e73f8d8bf73dfcbe91a9cfd5fe3288de421b4eec by Tom Stellard on 05/08/2026 at 18:29.. workflows: Merge release-doxygen into release-documenation These two workflows use the same script and have the same structure, so it's easier just to have one job that builds both. https://invent.kde.org/qt/clang/llvm/-/commit/e73f8d8bf73dfcbe91a9cfd5fe3288de421b4eec Git commit 7bd0ad11567b40ba0d866243408f5a6e24b82d39 by Tom Stellard on 05/08/2026 at 18:29.. ebug https://invent.kde.org/qt/clang/llvm/-/commit/7bd0ad11567b40ba0d866243408f5a6e24b82d39 Git commit afa75714947757343b8e7c43576119440cd54a54 by Tom Stellard on 05/08/2026 at 18:29.. Fix matrix https://invent.kde.org/qt/clang/llvm/-/commit/afa75714947757343b8e7c43576119440cd54a54 Git commit 71193bdcbaa6b6a8881c28096ab0fa55714d0dca by Tom Stellard on 05/08/2026 at 18:29.. Fix https://invent.kde.org/qt/clang/llvm/-/commit/71193bdcbaa6b6a8881c28096ab0fa55714d0dca Git commit e555d37da0ca52120ef9cbaa001614a6f15f3c62 by Tom Stellard on 05/08/2026 at 18:29.. Fixes https://invent.kde.org/qt/clang/llvm/-/commit/e555d37da0ca52120ef9cbaa001614a6f15f3c62 Git commit 8bbc280667d03d6446be976ab9911497a5c29c0c by Tom Stellard on 05/08/2026 at 18:29.. Debug https://invent.kde.org/qt/clang/llvm/-/commit/8bbc280667d03d6446be976ab9911497a5c29c0c Git commit 6b0e1bd0b731466f0fa557986c3acb415b3ef7f7 by Tom Stellard on 05/08/2026 at 20:40.. Remove doxygen workflow https://invent.kde.org/qt/clang/llvm/-/commit/6b0e1bd0b731466f0fa557986c3acb415b3ef7f7 Git commit 1e5316d6a8466ee51b21b012e7c6e82764407fe3 by Tom Stellard on 05/08/2026 at 21:03.. Fix tarballanmes and add pull_reqeust block https://invent.kde.org/qt/clang/llvm/-/commit/1e5316d6a8466ee51b21b012e7c6e82764407fe3 Git commit b160ed881821bb138c9bd3c9bf29c7626933df46 by Tom Stellard on 05/08/2026 at 21:57.. Fixes https://invent.kde.org/qt/clang/llvm/-/commit/b160ed881821bb138c9bd3c9bf29c7626933df46