[SLP][modularisation][NFC] Move getReductionInstr to SLPReductionUtils, getAggregateSize to SLPUtils
Move the reduction-root helper getReductionInstr out of SLPVectorizer.cpp
into the self-contained SLPVectorizer/SLPReductionUtils.{h,cpp} module.
getAggregateSize is not reduction-specific: its only user is
findBuildAggregate and it only computes the element count of a homogeneous
aggregate from its type. Move it to the generic SLPVectorizer/SLPUtils
module instead.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Assisted by AI
[SLP][modularisation][NFC] Move loop trip-count helpers to SLPUtils
Move the BoUpSLP-independent helpers findInnermostNonInvariantLoop and
getLoopTripCount out of SLPVectorizer.cpp into the self-contained
SLPVectorizer/SLPUtils.{h,cpp} module. getLoopTripCount reads the file-local
LoopAwareTripCount cl::opt, which stays static in SLPVectorizer.cpp and is
passed to the moved helper as an explicit parameter. NFC.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
[clang-tidy] Fix readability-redundant-parentheses false positives on decltype (#224715)
Preserve parentheses that affect type deduction in `decltype` operands
and
`decltype(auto)` initializers and return statements. This also covers
dependent operands in templates and their instantiations, and operands
that create temporaries. Continue diagnosing redundant parentheses whose
removal does not affect type deduction, such as those in
`decltype((1))`.
Fixes #223522.
x11-fm/cosmic-files: New port: File manager for the COSMIC desktop environment
COSMIC Files is the official file manager of the COSMIC desktop
environment. It supports common features such as thumbnailing,
archive creation and extraction, and external mounts such as
USB drives or remote file systems.
COSMIC Files also implements a desktop applet and XDG's file
chooser interface.
WWW: https://github.com/pop-os/cosmic-files
PR: 299137
Reported by: Josh Megnauth <jo.sh at tutanota.com>
Test constrained and explicit object operators in defaulted postfix operators
Cover prefix and postfix operators that are constrained or declared with
an explicit object parameter, and add the remaining deletion and
constexpr-mismatch notes that were not yet tested: the decrement forms,
protected members, and non-constexpr constructors, conversion functions
and consteval declarations.
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
Defer all defaulted postfix operator checks in dependent contexts
Return early from CheckExplicitlyDefaultedPostfixOperator when the first
parameter type is dependent or the function is in a dependent context,
after the prefix operator lookup. A deduced return type in a template is
now diagnosed when the template is instantiated.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
Extract the copy and destroy check for defaulted postfix operators
Move the checks that C can be direct-initialized from an lvalue of type C
and then destroyed, from the context of the function body, into
canCopyAndDestroyForDefaultedPostfixOperator.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
p5-Text-CSV_XS: update to 1.65.
1.65 - 2026-10-15, H.Merijn Brand
* CPAN.org does not forward email anymore
* parse (): report trailing lone CR, do not store EOF as 0xFF (CVE-2026-110759)
* Under allow_whitespace, do not strip beyond field start (CVE-2026-110758)
* combine (): decide quoting from the bytes, not the NV flags (CVE-2026-110757)
* Flush saved bytes in Combine () (CVE-2026-110756)
* Re-use AHEAD with \r instead of copying (CVE-2026-110755)
* getline (): free the result array when the parse fails (CVE-2026-110754)
* Do not free the bound column scalar in skip_empty_rows (CVE-2026-110753)
* fragment (): do not size memory by the selector integers (CVE-2026-110752)
p5-Cpanel-JSON-XS: update to 4.80.
4.80 2026-09-?? (rurban)
- Security fixes, reported by Stig Palmquist (CPANSec):
* CVE-2026-110672 decode: free the hash key on "Duplicate keys not
allowed" and on a missing ':' (leak).
* CVE-2026-110673 decode: charge allow_tags "(" nesting against
max_depth (stack overflow).
* CVE-2026-110674 decode: look bare keys up as UTF-8, so the
duplicate check no longer misses or crashes on non-ASCII keys.
* CVE-2026-110675 decode: validate bare hash keys as UTF-8 like
quoted keys (malformed keys).
* CVE-2026-110676 encode: compact allow_bignum Math::BigFloat
values with huge exponents (30MB from 12 bytes).
* CVE-2026-110677 decode: fix the dupkeys_as_arrayref reference
counts (leaked every array).
* CVE-2026-110678 incr_parse: apply max_size to the buffered text
in every context.
* CVE-2026-110680 encode: bound the canonical key snapshot for
[49 lines not shown]
Use InitializationSequence::Diagnose for defaulted postfix operator copy
Replace the hand-written explanation of why copy construction fails in a
defaulted postfix operator with InitializationSequence::Diagnose. This
emits errors rather than notes, so it is a FIXME for now.
Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
[M68k,Xtensa][test] Regenerate tests after LiveVariables removal changes (#233183)
Fix after #229069 (InstrEmitter no longer emits kill flags) and #228618
(LiveIntervals runs before PHIElimination).
x11-themes/cosmic-icons: New port: Icon theme for the COSMIC desktop environment
COSMIC Icons is a set of standard icons for the COSMIC desktop environment.
The icon set also bundles special icons that are used throughout the
COSMIC app ecosystem.
WWW: https://github.com/pop-os/cosmic-icons
PR: 299137
Reported by: Josh Megnauth <jo.sh at tutanota.com> (new maintainer)
[tools] Parse library options into LLVMContext (#233182)
cl::ParseCommandLineOptions sets library options in T::Global, so IR
options will no longer affect them after LLVMCore migrates off cl::opt.
Switch to cl::parseCommandLineOptions.
[libc++] Fix use-after-free during self-assignment (#225296)
The range [data(), data() + size() + 1) points into the string's own
buffer and is one element longer than the capacity when the buffer is
full, so assigning it reallocates:
std::string str;
str.resize(str.capacity(), 'a'); // size() == capacity()
str.assign(str.data(), str.data() + str.size() + 1); // reallocates
__assign_trivial called __grow_by_without_replace up front and read the
range afterwards, by which point the buffer holding it had been
released: that is a heap-use-after-free for a long string, and for a
short string the long representation has been written over the small
buffer the range points into, so the assignment silently stores garbage.
Allocate the new buffer and read the range into it before releasing the
buffer the string holds. That also keeps the range valid in the exotic
case where it is the byte representation of the string object itself,
[14 lines not shown]
emulators/wine-devel: Update 11.19 => 11.20
Changelog:
- Relay debugging for ARM64EC.
- Improvements in XML validation.
- CDROM support moved to the Mount Manager.
- Various bug fixes.
https://gitlab.winehq.org/wine/wine/-/releases/wine-11.20
PR: 299505
Sponsored by: UNIS Labs (vvd, commit patch)
[lld][MachO][NFC] Don't let the output path trip cstring-dedup.s's check-not (#232631)
The __cstring check uses --implicit-check-not foo/bar, but llvm-objdump
prints the input file's full path first. When that path contains "bar"
(e.g. /home/isanbard/...), the test fails. Pass --no-leading-headers so
the path isn't printed. That also suppresses the "Contents of
(__TEXT,__cstring) section" line, so drop that STR check; --section
already restricts the output to __cstring.
Assisted-by: Claude Opus 5.5
[flang][OpenMP] Don't treat different runtime conditions as subsets
When two METADIRECTIVE candidates have the same score and one selector is
a strict subset of the other, the superset wins. Flang ranks every
runtime condition with the same property, so isStrictSubset saw
different conditions as the same:
!$omp metadirective &
!$omp& when(user={condition(a)}, &
!$omp& implementation={vendor(score(4): llvm)}: taskyield) &
!$omp& when(user={condition(b)}, device={kind(host)}, &
!$omp& implementation={vendor(score(3): llvm)}: taskwait)
Both candidates score 5, and `b` was tested first, so TASKWAIT ran when
both conditions were true. Neither selector is a subset of the other, so
clause order should decide.
This patch adds a UserCondition key to VariantMatchInfo, and
isStrictSubset requires equal keys when the first selector has a
[9 lines not shown]
[LFI][MC] Mark .note.LFI.ABI section with SHF_GNU_RETAIN (#233164)
Sections in a COMDAT group are subject to garbage collection during
linking when `--gc-sections` is enabled (even SHT_NOTE sections).
Because nothing references `.note.LFI.ABI.<arch>`, the deduplicated note
was previously removed by the linker with `-Wl,--gc-sections`.
Add `SHF_GNU_RETAIN` to `.note.LFI.ABI.<arch>` so that linkers recognize
it as a GC root while still deduplicating it via COMDAT.
Fixes #233086.