[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/shiltian/pre-commit-test-for-simplify-cfg-bug'. Changed from c78de0baf7000e535fee63aca59ab4894ecde7f7 to a341835e361245b008bdd2371cf2d403aa283b7f 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 41a5357e389b3c04d4c44631360dd3661488c629 by GitHub (on behalf of AZero13) on 27/07/2026 at 17:26.. [clang][Sema] Allow abstract declarators to specify cv-qualified function types as per CWG1417 (#209836) Abstract declarator contexts (specifically `DeclaratorContext::TypeName`) now properly bypass this restricted rule, allowing cv-qualified function types in `__typeof__` while maintaining restrictions in other contexts like `typeid`, `sizeof`, C-style casts, and `new` expressions per CWG1417. https://invent.kde.org/qt/clang/llvm/-/commit/41a5357e389b3c04d4c44631360dd3661488c629 Git commit 5565740f2367093b89481ba7371adf820971977d by GitHub (on behalf of Arthur Eubanks) on 27/07/2026 at 17:39.. [lld] Don't drop RELR relocations for late-added GOT entries (#211911) In #208959 we started dropping RELR relocations for late-added GOT entries when reverting x86-64 GOTPCRELX relaxations in X86_64::relaxOnce. There is a separate unrelaxation bug where if the object files didn't have any relocations of a certain type, we'd prune .relr.dyn (or even .rela.dyn). Will be addressed separately. Assisted-by: Gemini https://invent.kde.org/qt/clang/llvm/-/commit/5565740f2367093b89481ba7371adf820971977d Git commit ad791f26ef495dbc2c3c6c283518872697210898 by GitHub (on behalf of Christopher Ferris) on 27/07/2026 at 17:49.. [scudo] Test to verify fork and allocate does not deadlock. (#211975) https://invent.kde.org/qt/clang/llvm/-/commit/ad791f26ef495dbc2c3c6c283518872697210898 Git commit 751eb22c1b835b675166e4936a93f903b952f28f by GitHub (on behalf of David Green) on 27/07/2026 at 17:54.. [AArch64][GlobalISel] Use integer type for truncating merged call args. (#212208) https://invent.kde.org/qt/clang/llvm/-/commit/751eb22c1b835b675166e4936a93f903b952f28f Git commit 02da01251156c831a54417d4882aad7226cdbbe1 by GitHub (on behalf of Matt Arsenault) on 27/07/2026 at 17:57.. TableGen: Use a compact table for CPU aliases (#211952) https://invent.kde.org/qt/clang/llvm/-/commit/02da01251156c831a54417d4882aad7226cdbbe1 Git commit b9a7aad4a9d50b9ec60b59d197be43a973a0572c by GitHub (on behalf of Tom Stellard) on 27/07/2026 at 17:58.. workflows/release-tasks: Fix permissions for release-documentation (#212310) https://invent.kde.org/qt/clang/llvm/-/commit/b9a7aad4a9d50b9ec60b59d197be43a973a0572c Git commit 0600aeae3ba6c41da80bbb84c10f1cad4c9a58ba by GitHub (on behalf of David Green) on 27/07/2026 at 18:01.. [AArch64][GlobalISel] Use integer types for inline assembly lowering (#212214) If we need to generate a trunc then we can use an integer type for the lowering. https://invent.kde.org/qt/clang/llvm/-/commit/0600aeae3ba6c41da80bbb84c10f1cad4c9a58ba Git commit 7336a38e5c6dea03c243bb37b44a2207471e63d3 by GitHub (on behalf of rdevshp) on 27/07/2026 at 18:18.. [clang] Add missing VisitAtomicTypeLoc to TypeLoc.cpp GetContainedAutoTypeLocVisitor (#211752) Adds the missing `VisitAtomicTypeLoc` method to TypeLoc.cpp `GetContainedAutoTypeLocVisitor`. Fixes: https://github.com/llvm/llvm-project/issues/211556 ICE. Assisted-by: Codex https://invent.kde.org/qt/clang/llvm/-/commit/7336a38e5c6dea03c243bb37b44a2207471e63d3 Git commit 68e94c904067b1b984c6b337819633aee9f0c7da by GitHub (on behalf of Benedek Kaibas) on 27/07/2026 at 18:20.. [analyzer] Improve dangling value tracking in DanglingPtrDeref (#211818) Improve dangling value tracking in the `DanglingPtrDeref` checker by adding `trackExpressionValue`. The report with this change now tracks the dangling value and shows where the value originated from. Currently the checker only points at the destruction and use sites which isn't always useful for the user. https://invent.kde.org/qt/clang/llvm/-/commit/68e94c904067b1b984c6b337819633aee9f0c7da Git commit f83fcfbdc7fc1bee6ebf242b110a5c2b46703ae9 by GitHub (on behalf of Florian Mayer) on 27/07/2026 at 18:41.. [MachineVerifier] do not use !NoPHI to check if a MF has phi nodes (#211941) We were violating the property expressed in MachineFunction.h: ``` The properties are stated in "positive" form; i.e. a pass could require that the property hold, but not that it does not hold. ``` Resolves a false positive "MBB has allocatable live-in, [...]" error in our downstream target. https://invent.kde.org/qt/clang/llvm/-/commit/f83fcfbdc7fc1bee6ebf242b110a5c2b46703ae9 Git commit 79ea87c8da20263fa54c9f60b4befb3a9bf962cf by GitHub (on behalf of Yingwei Zheng) on 27/07/2026 at 18:41.. [llubi] Add support for byte types (#200672) This patch implements the support for byte types. The byte order depends on the endianness for better performance in the fast path. For non-byte-sized byte types, high bits are zeroed out. https://invent.kde.org/qt/clang/llvm/-/commit/79ea87c8da20263fa54c9f60b4befb3a9bf962cf Git commit a41a3359ec24f019a5a9576631228f0314be38a6 by GitHub (on behalf of Valentin Clement (バレンタイン クレメン)) on 27/07/2026 at 18:42.. [flang][cuda] Do not check dummy in stmt function in device code (#212037) https://invent.kde.org/qt/clang/llvm/-/commit/a41a3359ec24f019a5a9576631228f0314be38a6 Git commit 289a2d901a480e3c0ba8aac80c40f2fcd768506f by GitHub (on behalf of Stephen Long) on 27/07/2026 at 18:44.. [mlir][LinalgBlockPackMatmul] Add support for scalable block factors (#211354) Assisted by: Claude Sonnet 4.6 --------- Co-authored-by: Adam Siemieniuk <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/289a2d901a480e3c0ba8aac80c40f2fcd768506f Git commit a950d4a527311fbfe202d563331f133400fd2c5e by GitHub (on behalf of Matt Arsenault) on 27/07/2026 at 19:04.. AMDGPU: Use uint8_t for IsaVersion fields (#212311) https://invent.kde.org/qt/clang/llvm/-/commit/a950d4a527311fbfe202d563331f133400fd2c5e Git commit 460dbfc7ec59a89cc80f7c03879f60278ec2a6c4 by GitHub (on behalf of Sean Clarke) on 27/07/2026 at 19:05.. [HashRecognize] Use loop latch to determine step/start for conditional recurrence (#211916) The function `matchConditionalRecurrence` iterates over both PHI inputs and attempts to match each one to determine which is `Start` and which is `Step`. However, some of the failure conditions in the loop `return false`, which has the potential to classify some valid CRC loops as not having a conditional recurrence. The loop here is not really needed at all-- instead, use `L.getLoopLatch()` to determine `Start`/`Step`, since the incoming value from the latch block will always be the `Step`. This also avoids the aforementioned false negative classifications. Assisted-by: Claude Opus 5 https://invent.kde.org/qt/clang/llvm/-/commit/460dbfc7ec59a89cc80f7c03879f60278ec2a6c4 Git commit c2b22642d289413e136da29eaa1ce176ce438484 by GitHub (on behalf of Tomer Shafir) on 27/07/2026 at 19:06.. [AArch64][MacroFusion] Add per cluster kind statistic (#212103) So we can easily differentiate between different cluster kinds on AArch64 backend. https://invent.kde.org/qt/clang/llvm/-/commit/c2b22642d289413e136da29eaa1ce176ce438484 Git commit bd7bb26108bd86eeeef0962577b52d0f435a7ac3 by GitHub (on behalf of Daniel Paoliello) on 27/07/2026 at 19:15.. [clang] Match MSVC ABI for over-aligned base tail padding on Arm64 (#210461) When targeting aarch64-pc-windows-msvc, clang laid out a base following an over-aligned, non-standard-layout base at the wrong offset. MSVC on Arm64 reuses the over-aligned base's tail padding for the subsequent base, but clang rounded the base up to a full slot, so the two disagreed on member offsets, breaking interop between clang- and MSVC-built binaries. Fix: store each record's natural non-virtual alignment (excluding `alignas`/`__declspec(align)` over-alignment) as `getNonRequiredNVAlignment()`, and on Arm64 fold in a base's natural alignment rather than its full alignment. This is gated to Arm64 only; Arm64EC and x64 follow the x64 rule (no reuse) and are unchanged. Validated against MSVC (Hostx64\arm64\cl.exe /d1reportSingleClassLayout): clang now matches MSVC Arm64 exactly for the reduced repro, the original polymorphic case (vftable + empty base + template), and a range of probe cases covering natural vs. over-alignment padding and field vs. base reuse. Arm64EC and x64 output is byte-identical to before. Fixes #210174 https://invent.kde.org/qt/clang/llvm/-/commit/bd7bb26108bd86eeeef0962577b52d0f435a7ac3 Git commit 4d14e9641ddf38d4b6cc2dbb5c882135d94c68c1 by GitHub (on behalf of Arseniy Obolenskiy) on 27/07/2026 at 19:16.. [mlir][MathToSPIRV] Allow math.cttz lowering for non-i32 integer widths (#206400) Co-authored-by: Igor Wodiany <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/4d14e9641ddf38d4b6cc2dbb5c882135d94c68c1 Git commit c881d81f6b189f14c56c9bec8842ddba6255d0e5 by GitHub (on behalf of Rafael Auler) on 27/07/2026 at 19:34.. [BOLT] Release pseudo-probe decoder after emit (#211935) PseudoProbeRewriter builds sizable data structures and then hold onto them after they are needed. PseudoProbeRewriter::postEmitFinalizer() parses the input .pseudo_probe sections into an MCPseudoProbeDecoder whose address-to-probe and GUID-to-function-desc maps can be very large (tens of GiB on big binaries with many probes). This is not used again once probes have been updated, yet they survive into the memory-heavy DWARF rewrite (updateDebugInfo), directly inflating BOLT's peak RSS at the worst possible time. This frees them at the end of the postEmitFinalizer() calls, before updateDebugInfo runs. Stacked on top of the .dwo DIE diff, in large binaries you should observe ~17% peak RSS wins if your build uses pseudo probe maps. https://invent.kde.org/qt/clang/llvm/-/commit/c881d81f6b189f14c56c9bec8842ddba6255d0e5 Git commit 63e60a2853b1ff6fdac3cbaf668e2d2a63d51fae by GitHub (on behalf of Rafael Auler) on 27/07/2026 at 19:35.. [BOLT] Fix strict mode bug in removal of block referenced by JT (#211940) Summary: BOLT can create a jump table object from a PC-relative operand reference (e.g. leaq JT(%rip)) whenever the referenced memory looks like a PIC jump table -- see BinaryContext::handleAddressRef. This is independent of whether BOLT recognizes the indirect jump dispatch itself. The jump table annotation is only attached to the jmp instruction later, in BinaryFunction::analyzeIndirectBranch, and only when the target-specific analyzeIndirectBranch matcher recognizes the dispatch pattern. If the matcher does not recognize the pattern, the annotation is never attached to the jmp, even though the jump table object and its entries exist and reference basic blocks in the function. In strict mode BOLT still fully processes such a function: it stays simple, the block is marked as having unknown control flow, and the jump table object is kept intact. Because the terminator carries no jump table annotation, BinaryBasicBlock::hasJumpTable() returns false for it. Later passes then transform the function normally: remove-nops can empty a jump table target block that consists only of nops, and NormalizeCFG then redirects the block's predecessor and deletes the empty block - it does not recognize the block as a jump table target, since the predecessor's hasJumpTable() is false. The jump table object still references the deleted block by label, which produces an "Undefined temporary symbol" error and fails emission. Fix NormalizeCFG so it does not redirect/remove a block whose predecessor ends in an indirect branch, not only one flagged by hasJumpTable(). https://invent.kde.org/qt/clang/llvm/-/commit/63e60a2853b1ff6fdac3cbaf668e2d2a63d51fae Git commit 767716657985094ce2e73eafe87d5fa8a24ac843 by GitHub (on behalf of Alex Duran) on 27/07/2026 at 19:44.. [OFFLOAD][L0] Fix zero argurment kernel launch (#212296) PR #205224 changed the path for kernels with no arguments to not use appendLaunchKernelWithArgs, while at the same time it removed zeKernelSetGroupSize which resulted in incorrect sizing of the kernel. This PR removes the alternate path and makes sure all launches go through appendLaunchKernelWithArgs. Alternatively we can restore zeKernelSetGroupSize on the alternate path. https://invent.kde.org/qt/clang/llvm/-/commit/767716657985094ce2e73eafe87d5fa8a24ac843 Git commit 6534ceefd231771466abc9c388b93bb8b0913316 by GitHub (on behalf of Sirraide) on 27/07/2026 at 19:49.. [Clang] [NFC] Update OptionalUnsigned ctor to only reject signed integers (#212321) Currently, the `OptionalUnsigned(int) = delete;` constructor means that constructing e.g. an `OptionalOrUnsigned<uint64_t>` from an `unsigned` fails because overload resolution is ambiguous (because `unsigned` -> `int` and `unsigned` -> `uint64_t` are both valid conversions). This patch adds a constraint to make sure the deleted constructor only catches signed integer types. This is needed for #212319. https://invent.kde.org/qt/clang/llvm/-/commit/6534ceefd231771466abc9c388b93bb8b0913316 Git commit 864f9a09887559491ef3f7ad39d57c703bc14f40 by GitHub (on behalf of Björn Schäpers) on 27/07/2026 at 20:11.. [clang-format] Correctly annotate C# UTF 8 string literals (#211919) Fixes #210506 https://invent.kde.org/qt/clang/llvm/-/commit/864f9a09887559491ef3f7ad39d57c703bc14f40 Git commit 34c7c5ccca260c695d6b212a06c0e620d494adb4 by GitHub (on behalf of Changpeng Fang) on 27/07/2026 at 20:35.. [AMDGPU][NFC] Rename packed instruction helper functions for clarity (#211933) Renames packed instruction helper functions to better reflect their purpose: - isPackedFP32or64BitInst → isSingleSGPRReadInst - isLegalGFX12PlusPackedMathFP32or64BitOperand → isLegalSingleSGPRReadInstOperand https://invent.kde.org/qt/clang/llvm/-/commit/34c7c5ccca260c695d6b212a06c0e620d494adb4 Git commit cef8432f7d149ef4e5888e29ff4d39ea580a806c by GitHub (on behalf of Florian Hahn) on 27/07/2026 at 20:41.. [VPlan] Account for masked VPInstructions in getIntrinsicID. (#212234) getIntrinsicID may be called with masked VPInstructions. Update to skip the mask, which is always the last operand. Fixes https://github.com/llvm/llvm-project/issues/212165. PR: https://github.com/llvm/llvm-project/pull/212234 https://invent.kde.org/qt/clang/llvm/-/commit/cef8432f7d149ef4e5888e29ff4d39ea580a806c Git commit aa8942dbf406e9e4c0cae84a6567dac37fac57c6 by GitHub (on behalf of Sameer Sahasrabuddhe) on 27/07/2026 at 20:47.. [Docs][AMDGPU] Eliminate incorrect use of double backticks [NFC] (#212343) https://invent.kde.org/qt/clang/llvm/-/commit/aa8942dbf406e9e4c0cae84a6567dac37fac57c6 Git commit a341835e361245b008bdd2371cf2d403aa283b7f by Shilei Tian on 27/07/2026 at 22:21.. [NFC] Pre-commit a test case for a SimplifyCFG issue https://invent.kde.org/qt/clang/llvm/-/commit/a341835e361245b008bdd2371cf2d403aa283b7f