[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/nerixyz/lldb-value-wrapper-3'. Changed from 58d3164471e80b67fc39c5ef8c55c94b48b8a9bb to 7194b8584f70e42a6f8a4785f629bfd4f6cb803c 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 a4764e36c7d9ef00810fae196b7030b6c7354db7 by GitHub (on behalf of Bryth) on 06/08/2026 at 11:16.. [mlir][ArmSVE] Fix typo in BFMMLA op description (NFC) (#214201) https://invent.kde.org/qt/clang/llvm-project/-/commit/a4764e36c7d9ef00810fae196b7030b6c7354db7 Git commit 0c91f5b25492e552f2f24f4d56750c3948dd6e90 by GitHub (on behalf of Bryth) on 06/08/2026 at 11:16.. [mlir][vector] Disallow vector broadcast along scalable dim (#212197) Broadcasts from vectors to higher rank vectors get lowered recursively by iterating over leading dimensions to create "size(dimension)" insert ops. This cannot be done for scalable dimensions whose size is unknown. This PR prevents such transforms from occurring by stopping if the leading dimension is scalable. https://invent.kde.org/qt/clang/llvm-project/-/commit/0c91f5b25492e552f2f24f4d56750c3948dd6e90 Git commit 50ff635538a52197ce708ce65c3fb1752be0f20f by GitHub (on behalf of Abid Qadeer) on 06/08/2026 at 11:21.. [flang][debug] Emit debug info for named constants (#213974) Fixes https://github.com/llvm/llvm-project/issues/213966. Only globals whose uniqued name deconstructs to `NameKind::VARIABLE` were described. A Fortran named constant (PARAMETER) is mangled with EC and deconstructs to `NameKind::CONSTANT`, so it got no debug info at all and a debugger could not evaluate one, whether it was declared in a module or inside a procedure. A module constant is described the way a module variable already is, with a `DIGlobalVariable` scoped to the `DIModule`. A constant local to a procedure is described in the scope of that procedure. Two related fixes for entities whose global has internal linkage, which covers both a procedure local constant and a procedure local SAVE variable that was already being described: - `isLocalToUnit` was hardcoded to false, so these were marked `DW_AT_external`. It now follows the linkage of the global. - A linkage name was emitted for them. There is no external symbol for a debugger to match against, so it is now omitted, which is also what clang does for a function local static. Assisted by: Cursor --------- Co-authored-by: Cursor <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/50ff635538a52197ce708ce65c3fb1752be0f20f Git commit db89f5c0c9b0ce60373924075c2bcd5d1c41415a by GitHub (on behalf of Simon Pilgrim) on 06/08/2026 at 11:45.. [X86] Tidyup atom fpu->gpr costs (#214454) These had matching high latency and throughput numbers, which suggest they hadn't been updated since the itinerary conversion. Confirmed with Agner, uops.info and instlatx64 which report a consistent throughput of 2cy, latency seems to be about 4cy (uops.info just says <= 6cy) Noticed while trying to confirm #214191 vector reduction costs for atom type cpus, and llvm-mca was reporting some very odd numbers for bonnell. https://invent.kde.org/qt/clang/llvm-project/-/commit/db89f5c0c9b0ce60373924075c2bcd5d1c41415a Git commit 1bfde5fd3b8f809fc7ab1ce32862276144783ef5 by GitHub (on behalf of Sergio Afonso) on 06/08/2026 at 12:12.. [MLIR][OpenMP] Refactor omp dialect utils headers, NFC (#213648) This patch implements some non-functional refactoring changes: - It consolidates the two existing "utils" headers into one. - It renames fields and arguments to the `OffloadModuleOpts` structure to follow the MLIR style guide and more closely match the corresponding `OffloadModuleInterface` attributes. - It removes comments in OpenMP-to-LLVMIR translation referring to Flang frontend options associated to the `OffloadModuleInterface`. https://invent.kde.org/qt/clang/llvm-project/-/commit/1bfde5fd3b8f809fc7ab1ce32862276144783ef5 Git commit 105e9f1be4962318a8ec8adedb7b37eec1674ed4 by GitHub (on behalf of Sergio Afonso) on 06/08/2026 at 12:12.. [MLIR][OpenMP] Ensure -fopenmp-force-usm doesn't override requirements (#213649) The `mlir::omp::setOffloadModuleInterfaceAttributes` utility function can currently override any pre-existing OpenMP `requires` clauses in the module. This doesn't cause any problems at the moment because all calls to this function happen before any other `requires` are processed. However, it's safer to make sure it never deletes pre-existing flags in case the same function is reused in a different context. https://invent.kde.org/qt/clang/llvm-project/-/commit/105e9f1be4962318a8ec8adedb7b37eec1674ed4 Git commit a8f0bcbdc4d8c2e046ce107a0a169e310162c807 by GitHub (on behalf of Abid Qadeer) on 06/08/2026 at 12:26.. [flang][debug] Add accurate line number information to module. (#214011) The line number in a module's debug info was a guess: the source line of the first module member we encountered, minus one. That was only correct when the first declaration happened to be on the line right after the MODULE statement, so debuggers usually reported a module at the wrong line. The location of `fir.module_debug_imports` is that of the MODULE statement, so use it instead. That operation is now generated for every module and not only for those containing a USE statement, so the location is available in all cases. It is still only generated when debug info is requested. Co-authored-by: Cursor <[email protected]> --------- Co-authored-by: Cursor <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/a8f0bcbdc4d8c2e046ce107a0a169e310162c807 Git commit 1cc730fd7b31cdc240a6357b66e7a1b05bbfe135 by GitHub (on behalf of Tim Besard) on 06/08/2026 at 12:37.. [SPIRV] Legalize i1 min/max before selection (#204231) LLVM can produce `llvm.{s,u}{min,max}.i1` from boolean value patterns. In SPIR-V, however, LLVM `i1` is represented as `OpTypeBool`, not as an integer type. The OpenCL/GLSL extended min/max instructions require integer scalar or integer vector operands and results, so selecting those instructions directly for `i1` can produce invalid SPIR-V. This patch makes the SPIR-V legalizer reflect that type-system boundary. Nonstandard integer widths remain legal when the relevant extensions are enabled, but `s1` is not treated as an extended integer width. Scalar `i1` min/max is widened to `i32` before instruction selection and converted back to bool. Boolean vectors are scalarized first, then each lane follows the same scalar legalization path. The result is deliberately conservative: it preserves the existing extended-integer behavior while preventing boolean values from reaching integer-only SPIR-V extended instructions. --- The Khronos SPIRV-LLVM-Translator follows the same type-model premise: `SPIRVWriter::transType` maps LLVM `i1` to `OpTypeBool`, while wider LLVM integer types map to `OpTypeInt`. The translator also avoids using OpenCL/GLSL extended min/max instructions for LLVM min/max intrinsics. Its `SPIRVWriter.cpp` lowering for `llvm.umin`, `llvm.umax`, `llvm.smin`, and `llvm.smax` emits an integer comparison followed by `OpSelect`. That compare/select strategy does not provide evidence that boolean extended min/max is valid; it sidesteps the integer-only extended-instruction constraint entirely. There is also a useful precedent in the translator regularization pass for shifts: because SPIR-V shift operands must be integer scalar/vector types, LLVM `i1` operands are treated as boolean and extended to `i32` before the integer operation, then converted back to bool. This patch applies the same principle to the LLVM backend path that currently uses extended min/max instructions. --------- Co-authored-by: Codex <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/1cc730fd7b31cdc240a6357b66e7a1b05bbfe135 Git commit b73efb77b873a536814b4aec98a41f4d099bd58d by GitHub (on behalf of Brian Cain) on 06/08/2026 at 13:05.. [Hexagon] Avoid Handling Debug Instructions (#212918) The change is made in HexagonFrameLowering::(optimizeSpillSlots) function. This Pass is responsible for managing function's stack frame and ensuring proper stack space allocation. Spill slots means temporary memory locations used for storing register values that need to be spilled from registers to memory during code execution. While Optimizing these spill slots we should not handle debug instructions. Optimized the pass by skipping debug instructions in optimizeSpillSlots function. A DBG_VALUE describing a variable that lives in a spill slot has a frame index operand, but it is neither a load from nor a store to that slot, so the slot was marked as one that cannot be optimized and the store/load pair using it was no longer replaced with register copies. The code generated for a function therefore differed depending on whether debug info was enabled. Co-authored-by: Chandana Sinderikeri <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/b73efb77b873a536814b4aec98a41f4d099bd58d Git commit 8610fba1de1acdbd91f93e808a780aa7da5869cb by GitHub (on behalf of Hassnaa Hamdi) on 06/08/2026 at 13:08.. [LV][NFC] Reorder creating vplans for UserVF and epilogueVF (#214379) For the case when we force userVF and epilogueVF, we create only 2 vplans.vThis patch reorder the vplans creation to create the main loop vplan firstly then the epilogue loop vplan. https://invent.kde.org/qt/clang/llvm-project/-/commit/8610fba1de1acdbd91f93e808a780aa7da5869cb Git commit 849c51e082b0958524246a0a880f46d468a55147 by GitHub (on behalf of Trevor Gross) on 06/08/2026 at 13:08.. [compiler-rt] Disable executable stack on `aeabi_u{read,write}*.S` (#214465) These were missing `NO_EXEC_STACK_DIRECTIVE` to add `.note.GNU-stack`; without it, a binary including any of these files will have the stack marked executable. Add the directive here, matching other similar files. Symtab diff before: $ clang compiler-rt/lib/builtins/arm/aeabi_uread4.S --target=arm-unknown-linux-gnueabi -c $ llvm-readelf aeabi_uread4.o -S There are 5 section headers, starting at offset 0xe4: Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .strtab STRTAB 00000000 0000a8 000039 00 0 0 1 [ 2] .text PROGBITS 00000000 000034 000020 00 AX 0 0 4 [ 3] .ARM.attributes ARM_ATTRIBUTES 00000000 000054 000022 00 0 0 1 [ 4] .symtab SYMTAB 00000000 000078 000030 10 1 2 4 After: $ clang compiler-rt/lib/builtins/arm/aeabi_uread4.S --target=arm-unknown-linux-gnueabi -c $ llvm-readelf aeabi_uread4.o -S There are 6 section headers, starting at offset 0xf4: Section Headers: [Nr] Name Type Address Off Size ES Flg Lk Inf Al [ 0] NULL 00000000 000000 000000 00 0 0 0 [ 1] .strtab STRTAB 00000000 0000a8 000049 00 0 0 1 [ 2] .text PROGBITS 00000000 000034 000020 00 AX 0 0 4 [ 3] .note.GNU-stack PROGBITS 00000000 000054 000000 00 0 0 1 [ 4] .ARM.attributes ARM_ATTRIBUTES 00000000 000054 000022 00 0 0 1 [ 5] .symtab SYMTAB 00000000 000078 000030 10 1 2 4 Fixes: 39413af931a7 ("[Compiler-rt] Implement AEABI Unaligned Read/Write Helpers in compiler-rt (#167913)") https://invent.kde.org/qt/clang/llvm-project/-/commit/849c51e082b0958524246a0a880f46d468a55147 Git commit 2eb6016ab8a0526d5eee85d54050d7808affbb77 by Nerixyz on 06/08/2026 at 13:18.. [lldb] Add tests for `lldb.value` https://invent.kde.org/qt/clang/llvm-project/-/commit/2eb6016ab8a0526d5eee85d54050d7808affbb77 Git commit ba64a7ae9bfc69355959866fb9639abae2e5e8f8 by Nerixyz on 06/08/2026 at 13:18.. fix: split tests into const operators and modifiers https://invent.kde.org/qt/clang/llvm-project/-/commit/ba64a7ae9bfc69355959866fb9639abae2e5e8f8 Git commit 5abceea85c298184d86646d48e4c655e56ba1bcd by Nerixyz on 06/08/2026 at 13:18.. fix: formatting https://invent.kde.org/qt/clang/llvm-project/-/commit/5abceea85c298184d86646d48e4c655e56ba1bcd Git commit fa260d6a845e1b0280a21ab13a8cb1e88ad662b9 by Nerixyz on 06/08/2026 at 13:18.. [lldb] Remove Python 2 operators from lldb.value https://invent.kde.org/qt/clang/llvm-project/-/commit/fa260d6a845e1b0280a21ab13a8cb1e88ad662b9 Git commit 7194b8584f70e42a6f8a4785f629bfd4f6cb803c by Nerixyz on 06/08/2026 at 13:18.. [lldb] Fix existing operators on lldb.value https://invent.kde.org/qt/clang/llvm-project/-/commit/7194b8584f70e42a6f8a4785f629bfd4f6cb803c