[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/davidspickett/lldb-register-types-for-stack-2'. Changed from dd6150581ec2e53bd497e42c91af8271225af8ff to f19b988953e7f331e9b319c8857a9fc3963bea08 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 f80ea9af1f29cc202d0b6ba077e79769b6f6184c by GitHub (on behalf of David Spickett) on 05/08/2026 at 11:24.. [lldb] Rename some register type classes (#213684) Follow up to #196960. So that when more types are added, the hierarchy is clear. RegisterType -> RegisterTypeEnum -> RegisterTypeFlags (in future also...) -> RegisterTypeUnion -> RegisterTypeVector Renamed and moved the test file as it will cover all the classes derived from RegisterType. https://invent.kde.org/qt/clang/llvm-project/-/commit/f80ea9af1f29cc202d0b6ba077e79769b6f6184c Git commit f4f973e3cdf8076209d462ae918dfd9299b741f4 by GitHub (on behalf of Matt Arsenault) on 05/08/2026 at 11:30.. RuntimeLibcalls: Split soft-float three-way compares into distinct libcall kinds (#211617) https://invent.kde.org/qt/clang/llvm-project/-/commit/f4f973e3cdf8076209d462ae918dfd9299b741f4 Git commit 0c6550088dad824f0bc464775da0fb628d9ce848 by GitHub (on behalf of Donát Nagy) on 05/08/2026 at 11:31.. [analyzer] Generalize MemRegion::getDescriptiveName (#213991) Previously `ArrayBoundChecker` had a utility function called `getRegionName` that acted as a wrapper around `MemRegion::getDescriptiveName` and provided fallback descriptions like "the heap area" or "the string literal" in cases when there was no exact name and `Memregion::getDescriptiveName` just returned an empty string. As this functionality may be useful for other checkers in the future, this commit moves it to `getDescriptiveName`, which now gains a second optional parameter called `AllowFallback` (which defaults to false). Calling `getDescriptiveName` with `AllowFallback == true` is almost equivalent to the utility function `getRegionName`: the only difference is that `getDescriptiveName` uses `getRawMemorySpace()` to remain independent of the current `State` -- while `getRegionName` took the `Space` (calculated with `Reg->getMemorySpace(State)`) as an argument. This introduces a very minor functional change in `security.ArrayBoundChecker`: if a symbolic region was originally created in the Unknown memory space but later we deduced that it is on the heap, then before this commit it was described as "the heap area" but now it is referred to as "the region". As this is a very rare situation and the new, less specific message is also completely acceptable, I don't think that we need to complicate the code to preserve the old behavior. This commit eliminates the useless variable `VariableName` from `getDescriptiveName`, other technical debt is left unchanged. https://invent.kde.org/qt/clang/llvm-project/-/commit/0c6550088dad824f0bc464775da0fb628d9ce848 Git commit 859c49360c4f9408474df94bdf3b34811360e378 by GitHub (on behalf of Balázs Benics) on 05/08/2026 at 11:42.. [clang][CFG][NFC] Add some tests for guaranteed eval orders (#212116) Depends on #212115 rdar://183254267 Assisted-By: claude https://invent.kde.org/qt/clang/llvm-project/-/commit/859c49360c4f9408474df94bdf3b34811360e378 Git commit 9f7c5cdad763372d99375fb9296247ef1a79f274 by GitHub (on behalf of Jiahao Guo) on 05/08/2026 at 11:56.. [CIR][AArch64] Lower AArch64 scalar saturating subtract intrinsics (#213658) ### summary This PR is a follow-up to #207189 and adds CIR lowering support for the eight AArch64 scalar signed and unsigned saturating subtract intrinsics. It reuses the common Neon SISD lowering infrastructure introduced by #209389. The legacy CodeGen tests are migrated to the ACLE-organized subtraction test file with corresponding CIR and LLVM checks. Assisted by : gpt5.6-sol high https://invent.kde.org/qt/clang/llvm-project/-/commit/9f7c5cdad763372d99375fb9296247ef1a79f274 Git commit b5b34ff378896572ccac8c77445f8e90c0547988 by GitHub (on behalf of babadany2999) on 05/08/2026 at 11:57.. [Clang][Sema] Fix an assertion crash when instantiating a nested requirement (#213660) We should check if the expression is valid before getConstraintExpr. Fixes #213575 https://invent.kde.org/qt/clang/llvm-project/-/commit/b5b34ff378896572ccac8c77445f8e90c0547988 Git commit b2b88d98cec1930d3a32242055a0b3ecfc9b4d10 by GitHub (on behalf of Petar Avramovic) on 05/08/2026 at 12:04.. AMDGPU/GlobalISel: Fix G_PTR_ADD handling in getBaseWithConstantOffset (#213968) There was a discrepancy compared to SDAG when G_PTR_ADD was being matched and there was no nuw flag check. In case of G_PTR_ADD, nuw flag comes from inbounds flag on getelementptr. For reference, SDAG does not have pointers so PTR_ADD is integer ADD in SDAG. https://invent.kde.org/qt/clang/llvm-project/-/commit/b2b88d98cec1930d3a32242055a0b3ecfc9b4d10 Git commit 4f14eaa227b32a6549c540fafe6b8de2036c6b9d by GitHub (on behalf of Ruoyu Qiu) on 05/08/2026 at 12:13.. [DA] Rewrite Banerjee MIV test with SCEV-based interval arithmetic (#207662) https://invent.kde.org/qt/clang/llvm-project/-/commit/4f14eaa227b32a6549c540fafe6b8de2036c6b9d Git commit 1768978e0cb5ceba764bbe164d974a8db9b006cb by GitHub (on behalf of David Sherwood) on 05/08/2026 at 12:13.. [Analysis] Cache generation of SCEV expander overflow checks (#213013) When creating SCEV checks as part of loop vectorisation we often generate overflow checks, which leads to lots of duplicated calls to the umul_with_overflow intrinsic. These calls should be cleaned up during codegen. However, it is unfortunate that the current LLVM method of calculating the cost of IR in a block involves looping over each instruction and adding the costs individually with no thought to the trivial CSE or DCE optimisations that would take place. In the absence of a more sophisticated method of cost analysis, for now I've chosen to explicitly CSE these overflow checks during SCEV expansion. https://invent.kde.org/qt/clang/llvm-project/-/commit/1768978e0cb5ceba764bbe164d974a8db9b006cb Git commit 80e17427c96f4ef13a255bfeb487f950a5d8d90e by GitHub (on behalf of Simon Pilgrim) on 05/08/2026 at 12:14.. [X86] Rename getPMOVMSKB -> getMOVMSK (#214177) The getPMOVMSKB helper has been used to generate MOVMSKPS/D cases as well for some time. https://invent.kde.org/qt/clang/llvm-project/-/commit/80e17427c96f4ef13a255bfeb487f950a5d8d90e Git commit 2fa45081bc8c1d13099684f27d73eb52889ec472 by GitHub (on behalf of Alexey Bataev) on 05/08/2026 at 12:20.. [SLP]Fix crash from runtime alias check reusing body scalars Emit the check at the block's first insertion point instead of before the terminator. SCEV expansion reuses any dominating instruction, so at the terminator it could pick up body scalars that are later moved into the vector block and deleted, causing a crash. Reviewers: Pull Request: https://github.com/llvm/llvm-project/pull/214211 https://invent.kde.org/qt/clang/llvm-project/-/commit/2fa45081bc8c1d13099684f27d73eb52889ec472 Git commit b185b9098984a2e99abd9e3d314b66d21c4431a4 by GitHub (on behalf of Petar Avramovic) on 05/08/2026 at 12:22.. AMDGPU/GlobalISel: Legalize G_SCMP and G_UCMP (#213896) https://invent.kde.org/qt/clang/llvm-project/-/commit/b185b9098984a2e99abd9e3d314b66d21c4431a4 Git commit 9063da54488c147b5fd9c51128dcb8682632dd1c by GitHub (on behalf of Vineet Kumar) on 05/08/2026 at 12:26.. [flang][flang-rt] Add -ffpe-trap= to set the initial FP exception halting mode (#208828) Implement the gfortran-style `-ffpe-trap=<list>` option, which sets the initial floating-point exception halting mode for the main program unit. The Fortran 2023 standard (17.6) permits the initial halting mode to be processor defined, so honoring this at program start is conforming. `<list>` is a comma-separated set of exception mnemonics: `invalid`, `zero`, `overflow`, `underflow`, and `inexact`, corresponding to the IEEE_FLAG_TYPE values IEEE_INVALID, IEEE_DIVIDE_BY_ZERO, IEEE_OVERFLOW, IEEE_UNDERFLOW, and IEEE_INEXACT. As a non-standard, gfortran-compatible extension, `denormal` halts on the x86 denormal-operand exception. An empty list or the value `none` disables halting, and the last `-ffpe-trap=` on the command line wins (allowing an earlier request to be overridden). Changes by component: - clang/Driver: give `-ffpe-trap=` FlangOption/FC1Option visibility and a one-line HelpText plus a detailed DocBrief (moved into f_Group); forward the flag to -fc1. Emit a target-based warning when halting control is unavailable (non-x86 and non-Linux targets), and a denormal-specific warning on non-x86 targets. The check is intentionally conservative and only ever under-warns; the runtime remains authoritative. - flang/Frontend: parse the list into a LangOptions bitmask (FPExceptionTrapKind), error on unknown mnemonics, and propagate the mask to the lowering options. - flang/Lower: genMain() injects a call to _FortranAEnableFPETraps into the main program unit only (after ProgramStart, before _QQmain), so the mode persists across procedures as required by F2023 17.6. - flang-rt: add EnableFPETraps(), which enables halting only for the exceptions whose halting control is supported on the target (IEEE_SUPPORT_HALTING, F2023 17.11.40); it is a no-op elsewhere. Testing: - Driver tests for forwarding, "none"/empty, last-wins, bad-argument errors, and the unsupported-target / denormal warnings. - FIR lowering tests for the emitted call and constant mask, including a negative test that a non-main compilation unit emits no call. - flang-rt execution tests that verify each exception (invalid, zero, overflow, underflow, inexact, denormal) actually terminates the program with SIGFPE, plus a selectivity test that an unrelated enabled trap does not halt. The denormal execution test is gated to x86. These changes were generated with the assistance of AI tooling and have been reviewed, tested, and validated by the author. Resolves #198657 https://invent.kde.org/qt/clang/llvm-project/-/commit/9063da54488c147b5fd9c51128dcb8682632dd1c Git commit a9cc54402e75bd9ad848f707c8ccbfe588b60ee5 by GitHub (on behalf of Arseniy Obolenskiy) on 05/08/2026 at 12:30.. [github] Label llvm/tools/spirv-tools changes as backend:SPIR-V (#214193) E.g. https://github.com/llvm/llvm-project/pull/214159 PR is missing labels https://invent.kde.org/qt/clang/llvm-project/-/commit/a9cc54402e75bd9ad848f707c8ccbfe588b60ee5 Git commit ee779de847774cc935ec089ebb6185c790aedcf7 by GitHub (on behalf of Folkert de Vries) on 05/08/2026 at 12:36.. [SPARC] use `divideCeil` to calculate register offset (#213739) So that later arguments get the correct register alignment https://godbolt.org/z/oaEf4Thvx On current clang the aligned struct starts in `o1`, but with GCC it is aligned and starts in `o2`. In practice I think only `float` could hit this (not an int, not an aggregate, smaller than 64 bits). https://invent.kde.org/qt/clang/llvm-project/-/commit/ee779de847774cc935ec089ebb6185c790aedcf7 Git commit 9ccaa764f703e5fc9929fba4446ec99ae0575c7a by David Spickett on 05/08/2026 at 13:19.. [lldb] Convert uses of RegisterTypeFlags into RegisterType So we are using the generic interface that will work with all future RegisterType derived classes. Right now we'll only be asked to print RegisterTypeFlags, so there's a few dyn_cast to that. Later we will switch on the kind, and support rendering more types. https://invent.kde.org/qt/clang/llvm-project/-/commit/9ccaa764f703e5fc9929fba4446ec99ae0575c7a Git commit f19b988953e7f331e9b319c8857a9fc3963bea08 by David Spickett on 05/08/2026 at 13:46.. casts not needed here https://invent.kde.org/qt/clang/llvm-project/-/commit/f19b988953e7f331e9b319c8857a9fc3963bea08