[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/chinmaydd/regbanklegalize-qsad'. Changed from 0000000000000000000000000000000000000000 to 7dce7f45dc1f8fd2676ac1010132ecdda7eb536c 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 bb40c7e546f18cb1332a5554bd82b0d9627394d8 by GitHub (on behalf of Louis Dionne) on 05/08/2026 at 18:13.. [libc++] Add dry-run coverage for the LNT tooling to the test-tools builder (#214028) This provides better-than-nothing coverage at a low cost. https://invent.kde.org/qt/clang/llvm/-/commit/bb40c7e546f18cb1332a5554bd82b0d9627394d8 Git commit 08a563eaea2fe9034f6b55304243f9604378449d by GitHub (on behalf of David Green) on 05/08/2026 at 18:27.. [InstCombine] Allow detection of nsz on phi in fcmp+select to min/max (#214156) The nsz could be coming from the phi, so check for canIgnoreSignBitOfZero first. Fixes a regression from #213133. https://invent.kde.org/qt/clang/llvm/-/commit/08a563eaea2fe9034f6b55304243f9604378449d Git commit 2afad896b762a158e7850f39501494fee80a03ad by GitHub (on behalf of Joshua Batista) on 05/08/2026 at 18:35.. Add atomic shader flags for resources (#212869) This PR adds shader flag analysis for atomics on resources. Fixes https://github.com/llvm/llvm-project/issues/116150 and https://github.com/llvm/llvm-project/issues/116148 https://github.com/llvm/llvm-project/issues/116152 can't be done yet as heap resources aren't yet supported. Assisted by: Github Copilot https://invent.kde.org/qt/clang/llvm/-/commit/2afad896b762a158e7850f39501494fee80a03ad Git commit 1a8e0576fceac8fa626d77f17e8915d9cb3778c3 by GitHub (on behalf of Petr Hosek) on 05/08/2026 at 18:44.. [Fuchsia] Disable per-target runtime directories for Darwin (#214307) This avoids the breakage introduced by #213748. https://invent.kde.org/qt/clang/llvm/-/commit/1a8e0576fceac8fa626d77f17e8915d9cb3778c3 Git commit fb559f5f016a35c07ba179b447bb10019db254c1 by GitHub (on behalf of Shilei Tian) on 05/08/2026 at 18:47.. [AMDGPU][Clang] Handle instantiation-dependent fence arguments (#214294) Refactor atomic builtin checks into their switch case and defer constant evaluation of dependent arguments until instantiation, avoiding a potential crash during template definition. Fixes ROCM-29058. https://invent.kde.org/qt/clang/llvm/-/commit/fb559f5f016a35c07ba179b447bb10019db254c1 Git commit 3ece898b3e7f71d4c0e44c991bab5cac719db1e8 by GitHub (on behalf of Chinmay Deshpande) on 05/08/2026 at 18:48.. [AMDGPU][GISel] Add RegBankLegalize rules for amdgcn_tanh (#214051) Enable the existing gfx1250 and gfx13 GlobalISel coverage now that tanh operands are assigned to VGPRs. https://invent.kde.org/qt/clang/llvm/-/commit/3ece898b3e7f71d4c0e44c991bab5cac719db1e8 Git commit 286d5c760a7710644ad06f354baa69cec5cc7b72 by GitHub (on behalf of Hamza Qureshi) on 05/08/2026 at 18:51.. [MLIR][XeGPU] Fix XeGPUToXeVM crash on non-integer memref memory spaces (#211053) ## Summary `convert-xegpu-to-xevm` asserts/crashes when a memref's memory space isn't an `IntegerAttr` — e.g. `memref<1024xf32, #spirv.storage_class<StorageBuffer>>`. `LoadStoreToXeVMPattern` and `PrefetchToXeVMPattern` compute the LLVM pointer address space via the deprecated `MemRefType::getMemorySpaceAsInt()`, which asserts on anything but an integer. Memref memory spaces aren't integer-only in general (GPU address spaces and XeVM's own `xevm::AddrSpaceAttr` are both legal here) — the file's own `isSharedMemRef` already handles this correctly elsewhere, these three call sites just didn't. ## Fix Add `getNumericMemorySpace()`: maps `IntegerAttr` (unchanged, verbatim), `xevm::AddrSpaceAttr`, and `gpu::AddressSpaceAttr` onto XeVM's numeric address spaces, and returns `failure()` for anything else so callers reject the op via `notifyMatchFailure` instead of asserting. `isSharedMemRef` now just calls this helper instead of duplicating the attribute dispatch. SPIR-V storage classes are deliberately not translated: SPIR-V is a lowering target for XeGPU, not a memory space meant to be used alongside the XeGPU dialect, so `#spirv.storage_class<...>` falls through to `failure()` and produces a clean legalization error. Not using `TypeConverter::addTypeAttributeConversion` since this pass overrides `MemRefType` conversion to a bare integer r than an LLVM struct descriptor, so that hook is never consulted. ## Test plan - The reported repro no longer crashes — it now fails legalization cleanly - `failed_conversion.mlir`: added a `#spirv.storage_class<StorageBuff case, verifying a legalization failure instead of an assert - Full XeGPUToXeVM test suite passes Fixes #210988 https://invent.kde.org/qt/clang/llvm/-/commit/286d5c760a7710644ad06f354baa69cec5cc7b72 Git commit d020613ca3a4167324032ffe191b57c44d93ef05 by GitHub (on behalf of Adam Smith) on 05/08/2026 at 19:28.. [CIR] Update get_global type for rewritten callees (#214082) When the pass rewrites a callee's signature, any `cir.get_global` holding that function's address is left behind at the old type. The verifier ties a get_global's pointee to the symbol it names, so the module stops verifying. Returning the address of a function that returns a 32-byte struct is enough to hit it. Each address now gets retyped to whatever signature its callee ended up with, then cast back so the existing uses still see the type they were built for. That happens in the same iteration that rewrites the callee, so the module is only ever inconsistent for one function at a time. Assisted-by: Cursor / claude-opus-5 https://invent.kde.org/qt/clang/llvm/-/commit/d020613ca3a4167324032ffe191b57c44d93ef05 Git commit d816cd7895542e11e2735afdb64ab16c0e9ef70a by GitHub (on behalf of Henry Jiang) on 05/08/2026 at 19:32.. [NFC][NVPTX][AtomicExpand] add NVPTX's lit.local.cfg (#214315) Missing lit.local.cfg for NVPTX AtomicExpand test. https://invent.kde.org/qt/clang/llvm/-/commit/d816cd7895542e11e2735afdb64ab16c0e9ef70a Git commit 50438137a7302e69cadb8402a43d1a4549676df3 by GitHub (on behalf of Adam Smith) on 05/08/2026 at 19:40.. [llvm][ABI][NFC] Name the required-argument boundary in FunctionInfo (#214100) `FunctionInfo::create` took the declared-parameter count as a bare `std::optional<unsigned>`, where an absent value meant the signature has no ellipsis, because `isVariadic()` was `NumRequired.has_value()`. A caller who reads that parameter name and passes the real count for a non-variadic signature makes `isVariadic()` true even though there is no ellipsis. A reviewer read the parameter that way on [#213315](https://github.com/llvm/llvm-project/pull/213315) and asked for this move as a follow-up. `RequiredArgs` moves out of `CallConvLoweringPass` and into the library, so both producers name the case they mean instead of encoding it. This is the same shape as clang's `RequiredArgs` in `CGFunctionInfo.h`, minus the members that would have no caller here. The x86_64 classifier in `llvm/lib/ABI/Targets/X86.cpp` is untouched, since `getNumRequiredArgs()` keeps its signature. Assisted-by: Cursor / claude-opus-5 https://invent.kde.org/qt/clang/llvm/-/commit/50438137a7302e69cadb8402a43d1a4549676df3 Git commit c34959a0974a2c6c0e03b3f211f697ac56a5761d by Chinmay Deshpande on 05/08/2026 at 19:49.. [AMDGPU][GISel] RegBankLegalize rules for the QSAD intrinsics llvm.amdgcn.{qsad.pk.u16.u8,mqsad.pk.u16.u8,mqsad.u32.u8} all reached AMDGPURegBankLegalize without a rule and failed with "No AMDGPU RegBankLegalize rules defined for opcode". The two pk forms share a shape - an i64 result from an i64, an i32 and an i64, all in VGPRs - so they get one rule. mqsad_u32_u8 returns <4 x i32> and takes a <4 x i32> accumulator, which has no slot in the Standard fast rules, so it uses explicit Any rules on Uni/DivV4S32 instead. Convert the lit tests to autogenerated checks and run them through both SelectionDAG and GlobalISel. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/c34959a0974a2c6c0e03b3f211f697ac56a5761d Git commit f688d6ae505cfd7f600d0e15274cfb0b9e2c75bc by GitHub (on behalf of Aviral Goel) on 05/08/2026 at 20:03.. [clang][ssaf] Add multi-arch create subcommand (#212847) This change adds `clang-ssaf-linker multi-arch create` for bundling per-architecture artifacts into a unified multi-architecture bundle. rdar://184145734 https://invent.kde.org/qt/clang/llvm/-/commit/f688d6ae505cfd7f600d0e15274cfb0b9e2c75bc Git commit e1850730ec9ef8035e5c6e9875446968e872e093 by Chinmay Deshpande on 05/08/2026 at 20:05.. Clang formatter https://invent.kde.org/qt/clang/llvm/-/commit/e1850730ec9ef8035e5c6e9875446968e872e093 Git commit 36e9c106453956880f0a9d52fbd04d8be9b1306f by GitHub (on behalf of Nick Sarnie) on 05/08/2026 at 20:08.. [offload-arch] Fix Intel GPU detection on Windows (#214309) I found this trying to set up our Windows buildbot. Manually reproduced the issue and verified the fix. Signed-off-by: Nick Sarnie <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/36e9c106453956880f0a9d52fbd04d8be9b1306f Git commit fe60500615bb05a20d1fe031b62ccf7da1e247cc by GitHub (on behalf of Jason Molenda) on 05/08/2026 at 20:15.. [lldb][API test] TestRunLocker is flakey, fix (#203429) TestRunLocker is intended to confirm that certain SB API commands behave correctly while the inferior process is running. It has two modes - one where it launches the process stopped, and then resumes it, and another where it simply launches it. Both are intended to wait until the process is eStateRunning, and then do the test commands including a HandleCommand that refers to `lldb.target`. This test is flakey on Linux and macOS because `lldb.target` comes back as a None type very early in process setup. We weren't actually running the "launch to the first instruction, then resume the process" codepath that this test was written to have - I fixed that last week. But we still see flakey behavior. I thought the flakiness might be the private stops we are doing as we're notified about binaries being loaded in the process, stepping past the breakpoint in the dynamic loader, and then resume. I tested this theory by changing the inferior program to be a tight infinite loop, then putting a breakpoint with a very high skip count, so lldb was forced to do many private stop/resumes. I changed the test case to launch to main(), then start hitting these infinite private stop/resumes and doing the test commands. The test commands work fine in this case. It's something unique about the early process startup that is triggering the flakey failures. On the one hand, there is something wrong here, where `lldb.target` will return None when we are doing commands while executing very early in startup. But that wasn't what this test was intended to exercise, and most importantly, it doesn't work consistently so hammering on this in a test case is just making our CI less reliable. I removed the "launch to first instruction, then resume" codepath and have TestRunLocker run to a breakpoint on main() - where we've done all our process setup and binary loading - then resume the process and test our commands while the inferior is in eStateRunning. It doens't fail any more on my macOS desktop. I also removed a Skip for aarch64 linux which said it was flakey. I expect that's the same flakiness that's hitting all the other CI too. https://invent.kde.org/qt/clang/llvm/-/commit/fe60500615bb05a20d1fe031b62ccf7da1e247cc Git commit 8fea3f4ab4596856d6ecb435525bc54d94127f96 by GitHub (on behalf of Krzysztof Drewniak) on 05/08/2026 at 20:34.. [NFC] Pre-commit tests for missing fabs SDAG vector expansion (#214288) https://invent.kde.org/qt/clang/llvm/-/commit/8fea3f4ab4596856d6ecb435525bc54d94127f96 Git commit 7f2641d0d3a2c14045dc113ec269eea0ede1cf48 by GitHub (on behalf of Nick Sarnie) on 05/08/2026 at 20:53.. [offload] Fix unittests on Windows (#214330) Right now everything fails because it can't find `LLVMOffload.dll`. We handle this for e2e tests [here](https://github.com/llvm/llvm-project/blob/main/offload/test/lit.cfg#L212), but not for the unit tests. Signed-off-by: Nick Sarnie <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/7f2641d0d3a2c14045dc113ec269eea0ede1cf48 Git commit df29e5e80f444f8b270af8e5dfc892935b1636b4 by GitHub (on behalf of Chinmay Deshpande) on 05/08/2026 at 21:07.. [AMDGPU][GISel] RegBankLegalize rules for s_incperflevel/s_decperflevel (#214327) https://invent.kde.org/qt/clang/llvm/-/commit/df29e5e80f444f8b270af8e5dfc892935b1636b4 Git commit 63e29d4da97729fb50ccb00849e74cc5aea28769 by GitHub (on behalf of Chinmay Deshpande) on 05/08/2026 at 21:14.. [AMDGPU][GISel] RegBankLegalize rules for SAD intrinsics (#214329) https://invent.kde.org/qt/clang/llvm/-/commit/63e29d4da97729fb50ccb00849e74cc5aea28769 Git commit 5270be7020cb61bfc73c7764fd461ff2c1f21844 by GitHub (on behalf of Matt Arsenault) on 05/08/2026 at 21:16.. RuntimeLibcalls: Add sqrtf to the Hexagon runtime libcall set (#210909) The library definitions go out of the way to avoid adding sqrtf, in favor of __hexagon_sqrtf. I'm assuming that libm does provide sqrtf, it just happens that there is a more-preferred function to use. RuntimeLibcallsInfo should express the full set of functions that do exist, and LibcallLoweringInfo should express the preference for which calls should be used. By the current ordering rules, it just so happens __hexagon_sqrtf will win out for SQRT_F32. Add this to avoid a special case to faciliate future libcall improvements. Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/5270be7020cb61bfc73c7764fd461ff2c1f21844 Git commit 59a7bc167b2b365e55db4ca51d81aee5a50a8de5 by GitHub (on behalf of rlougher) on 05/08/2026 at 21:22.. [CodeGen] ReplaceWithVeclib assertion failure with invalid intrinsic (#211352) Commit f6a359f (#194639) removed an intrinsic ID check against Intrinsic::not_intrinsic. This check is needed because a call instruction can be cast to an intrinsic instruction if the called function's name starts with "llvm." (see llvm::Function::isIntrinsic). This means if ReplaceWithVeclib is given an invalid intrinsic, it will fail with an assertion failure. https://invent.kde.org/qt/clang/llvm/-/commit/59a7bc167b2b365e55db4ca51d81aee5a50a8de5 Git commit 9b2d1d4762d87caf7a7d6036cb9ce3903ebe9ca1 by GitHub (on behalf of David Green) on 05/08/2026 at 21:24.. [AArch64][GlobalISel] Cleanup old selection code for G_OR and fp instructions. (#213869) G_OR can be selected via tablegen patterns, and other fp elements of selectBinOp were no longer used. unsupportedBinOp was just testing things that should always be true. https://invent.kde.org/qt/clang/llvm/-/commit/9b2d1d4762d87caf7a7d6036cb9ce3903ebe9ca1 Git commit 01de801a7330e38dc9e1fab6e7eb0daafcb3a589 by GitHub (on behalf of Matt Arsenault) on 05/08/2026 at 21:48.. RuntimeLibcalls: Add generic FCMP3_F* three-way compare for single-symbol ABIs (#211618) MSP430's __mspabi_cmpd/__mspabi_cmpf are one three-way compare symbol serving every predicate, previously modeled as six suffixed impls each. Replace them with a single generic operator FCMP3_*, and give softenSetCCOperands a 3rd lowering option. After the boolean O*_F* and the per-predicate FCMP3_<pred>_F* helpers, use the generic FCMP3_F* helper tested with the predicate's condition code. Also opt __nedf2 out of the MSP430 default set: it was the only libgcc F64 compare not already opted out, so it would otherwise provide FCMP3_UNE_F64 and win over __mspabi_cmpd for not-equal. Co-authored-by: Claude (Opus 4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/01de801a7330e38dc9e1fab6e7eb0daafcb3a589 Git commit 1addc8a9480c847bb2dd95c9eb58085d3d94e016 by GitHub (on behalf of David Green) on 05/08/2026 at 21:52.. [AArch64] Move tryFoldCselToFMaxMin to Select. NFC (#214346) This moves the code out of PreprocessISelDAG into Select where it should be performed. https://invent.kde.org/qt/clang/llvm/-/commit/1addc8a9480c847bb2dd95c9eb58085d3d94e016 Git commit 12df34b8469b8095359de8c249cb1b2753fadeea by GitHub (on behalf of Chen Li) on 05/08/2026 at 21:53.. [lldb][elf-core] Populate memory region names from NT_FILE (#212666) ## Summary `ProcessElfCore` already parses `NT_FILE`, but its cached `PT_LOAD` memory-region entries did not retain their backing filenames. - cache a complete `MemoryRegionInfo` for each `PT_LOAD` instead of rebuilding one from a custom permissions/name record on every query - associate an `NT_FILE` pathname when the `PT_LOAD` and `NT_FILE` starts match; their ends may differ, while a `PT_LOAD` beginning inside an `NT_FILE` range remains unnamed - finalize names and memory-tag state after all program headers are parsed, making the result independent of `PT_LOAD` and `PT_NOTE` ordering - preserve regions with `p_filesz == 0` and return the cached region directly from `DoGetMemoryRegionInfo` - add API coverage for the same-start/different-end case, an interior unnamed region, and an unnamed NT_FILE-only tail ## Testing - Clean LLVM 24/LLDB build completed successfully. - `check-lldb-api-functionalities-postmortem-elf-core` (4/4 passed) - `ProcessElfCoreTests` (3/3 passed) - `check-lldb-api-linux-aarch64-mte_core_file` (1/1 passed) - Real IPNext core compatibility smoke test using an assertion-disabled Release build: ``` (lldb) memory region 0x7fc4f25fd000 [0x00007fc4f25fd000-0x00007fc4f2600000) r-- /tmp/aot_inductor_loaded_modelaCZzUI/ckq4hskzrtwkbxruge7ofytm2zmahqgcizkszojgcp3eepdubxc2.hsaco ``` The focused API fixture exercises the mismatched-end and interior-start policies; the production core verifies compatibility with a large zero-file-size HSACO mapping. Co-authored-by: Chen Li <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/12df34b8469b8095359de8c249cb1b2753fadeea Git commit 9cc094bec938dec73b7f8d7c76fc29da045601c9 by GitHub (on behalf of Chinmay Deshpande) on 05/08/2026 at 22:22.. [AMDGPU][GISel] RegBankLegalize rule for amdgcn_lerp (#214324) https://invent.kde.org/qt/clang/llvm/-/commit/9cc094bec938dec73b7f8d7c76fc29da045601c9 Git commit 7dce7f45dc1f8fd2676ac1010132ecdda7eb536c by GitHub (on behalf of Chinmay Deshpande) on 05/08/2026 at 22:23.. Merge branch 'main' into users/chinmaydd/regbanklegalize-qsad https://invent.kde.org/qt/clang/llvm/-/commit/7dce7f45dc1f8fd2676ac1010132ecdda7eb536c