[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/michalpaszkowski/pisa_backend_upstreaming_3'. Changed from b4d1d3ee5dd56b473e741a33addc2be391a874f1 to 5e62b351a2b362c50336fd9b7cd0433c1dc9f7c5 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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/commit/50438137a7302e69cadb8402a43d1a4549676df3 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-project/-/commit/f688d6ae505cfd7f600d0e15274cfb0b9e2c75bc 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-project/-/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-project/-/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-project/-/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-project/-/commit/7f2641d0d3a2c14045dc113ec269eea0ede1cf48 Git commit fec5310c30a3dc26f6f309f4d434d30a736b4543 by Michal Paszkowski on 05/08/2026 at 21:03.. Add PISA target registration and backend stub Register the Intel GPU portable ISA (PISA) target. Add the pisa Triple arch, data layout, and a minimal MC/TargetMachine skeleton. https://invent.kde.org/qt/clang/llvm-project/-/commit/fec5310c30a3dc26f6f309f4d434d30a736b4543 Git commit 4e3fb02f05808e0fe5102c2b91a317e789889501 by Michal Paszkowski on 05/08/2026 at 21:03.. Review fixes https://invent.kde.org/qt/clang/llvm-project/-/commit/4e3fb02f05808e0fe5102c2b91a317e789889501 Git commit 7b40f0b70f14012711a67844e864b1b2396b805b by Michal Paszkowski on 05/08/2026 at 21:03.. Add PISA IR intrinsics and address-space utilities This patch adds the PISA IR intrinsics definitions, address space utilities, and basic tests. https://invent.kde.org/qt/clang/llvm-project/-/commit/7b40f0b70f14012711a67844e864b1b2396b805b Git commit cde97472124630b6c8757943baf79efb2f1d1829 by Michal Paszkowski on 05/08/2026 at 21:16.. Add PISA register file, instruction set, and MC layer Add the PISA register file and register-bank descriptions, the instruction formats and definitions, and the MC/assembly layer (instruction printer, register and code encoders, target streamer, MC target description and the supporting enums), replacing the stub descriptions from the initial target skeleton. This provides the instruction-set description and assembly-emission foundation. The GlobalISel lowering and instruction selection that consume it are added in the following changes. https://invent.kde.org/qt/clang/llvm-project/-/commit/cde97472124630b6c8757943baf79efb2f1d1829 Git commit 3212ba9391c208daf82c4c17042c5715f0d4e141 by Michal Paszkowski on 05/08/2026 at 21:21.. Formatting fix https://invent.kde.org/qt/clang/llvm-project/-/commit/3212ba9391c208daf82c4c17042c5715f0d4e141 Git commit 5e62b351a2b362c50336fd9b7cd0433c1dc9f7c5 by Michal Paszkowski on 05/08/2026 at 22:57.. Review fixes https://invent.kde.org/qt/clang/llvm-project/-/commit/5e62b351a2b362c50336fd9b7cd0433c1dc9f7c5