LLVM/project 7f6b542 — llvm/test/CodeGen/X86 vector-shuffle-var-expand.ll vector-shuffle-var-legalize.ll

[X86] Regenerate llvm.vector.shuffle tests with SSSE3 coverage and shared check prefixes (#240368)
DeltaFile
+382-398llvm/test/CodeGen/X86/vector-shuffle-var-legalize.ll
+29-58llvm/test/CodeGen/X86/vector-shuffle-var-expand.ll
+411-4562 files

LLVM/project 404c1d1 — llvm/lib/Target/AArch64 AArch64InstrAtomics.td

fixup! [AArch64] Support direct relaxed FP atomic loads and stores
DeltaFile
+8-8llvm/lib/Target/AArch64/AArch64InstrAtomics.td
+8-81 files

LLVM/project 6f8d6a7 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt setsid.h, libc/src/unistd/linux CMakeLists.txt setsid.cpp

[libc] Use a syscall wrapper for setsid (#240331)

This PR move setsid behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+34-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+34-0libc/src/__support/OSUtil/linux/syscall_wrappers/setsid.h
+11-8libc/src/unistd/linux/setsid.cpp
+13-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-2libc/src/unistd/linux/CMakeLists.txt
+97-105 files

LLVM/project 6c095ad — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt pwrite.h, libc/src/unistd/linux CMakeLists.txt pwrite.cpp

[libc] Use a syscall wrapper for pwrite (#240330)

This PR move pwrite behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+51-0libc/src/__support/OSUtil/linux/syscall_wrappers/pwrite.h
+11-24libc/src/unistd/linux/pwrite.cpp
+21-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+17-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-5libc/src/unistd/linux/CMakeLists.txt
+105-315 files

LLVM/project 7d7a2f3 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt pread.h, libc/src/unistd/linux CMakeLists.txt pread.cpp

[libc] Use a syscall wrapper for pread (#240329)

This PR move pread behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+51-0libc/src/__support/OSUtil/linux/syscall_wrappers/pread.h
+11-22libc/src/unistd/linux/pread.cpp
+21-2utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+17-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-5libc/src/unistd/linux/CMakeLists.txt
+105-295 files

LLVM/project 8320b99 — libc/src/__support/OSUtil/linux/syscall_wrappers CMakeLists.txt pipe.h, libc/src/unistd/linux CMakeLists.txt pipe.cpp

[libc] Use a syscall wrapper for pipe (#240328)

This PR move pipe behind the centralized syscall wrappers, following
libc/docs/dev/syscall_wrapper_refactor.md.
DeltaFile
+39-0libc/src/__support/OSUtil/linux/syscall_wrappers/pipe.h
+11-13libc/src/unistd/linux/pipe.cpp
+16-1utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+12-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+5-3libc/src/unistd/linux/CMakeLists.txt
+83-175 files

NetBSD/pkgsrc-wip a351784 — victoriametrics distinfo

victoriametrics: fix distinfo
DeltaFile
+780-690victoriametrics/distinfo
+780-6901 files

NetBSD/pkgsrc-wip ae97242 — victorialogs distinfo

victorialogs: fix distinfo
DeltaFile
+54-54victorialogs/distinfo
+54-541 files

LLVM/project e7b2272 — mlir/docs/DefiningDialects Operations.md, mlir/include/mlir/Dialect/LLVMIR LLVMEnums.td

[mlir][ODS] Add DefaultValuedEnumProp

Giving an enum property a default currently means subclassing EnumProp
and spelling the default as `Enum.cppType # "::Case"`, or wrapping it in
DefaultValuedProp with the same hand-written string. DefaultValuedEnumProp
takes the EnumInfo and one of its EnumCase defs, mirroring
DefaultValuedEnumAttr, and asserts at TableGen time that the case belongs
to the enum. GEPNoWrapFlagsProp and the test dialect's default-valued enum
props switch to it.

Assisted-by: Claude Code (Claude Fable 5.1).
DeltaFile
+10-0mlir/include/mlir/IR/EnumAttr.td
+9-0mlir/test/mlir-tblgen/op-format.mlir
+9-0mlir/test/mlir-tblgen/default-valued-enum-prop-error.td
+7-0mlir/test/lib/Dialect/Test/TestOpsSyntax.td
+1-3mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
+3-0mlir/docs/DefiningDialects/Operations.md
+39-36 files

LLVM/project 5c81460 — llvm/lib/Transforms/Scalar StraightLineStrengthReduce.cpp, llvm/test/Transforms/StraightLineStrengthReduce slsr-gep.ll

[SLSR] Sign-extend or truncate stride for +/-1 IndexDelta (#240262)

In StraightLineStrengthReduce::emitBump, a GEP candidate's Index (and
IndexDelta) has the pointer index type, whereas Stride may have a
narrower integer type from the GEP index operand.

While emitBump already converts C.Stride to DeltaType via
CreateSExtOrTrunc for the general CreateMul(ExtendedStride, C.Delta)
case, the early-return fast paths for IndexDelta == 1 and IndexDelta ==
-1 returned C.Stride and Builder.CreateNeg(C.Stride) in C.Stride's
original type.

For GEP candidates, this passes an offset narrower than the pointer
index type to IRBuilder::CreatePtrAdd, triggering the assertion added in
#239262 ("Offset must match index type"), and for IndexDelta == -1 it
also negated the narrow stride prior to sign-extension.

Compute ExtendedStride before handling the 1 and -1 special cases.
DeltaFile
+39-0llvm/test/Transforms/StraightLineStrengthReduce/slsr-gep.ll
+7-7llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
+46-72 files

LLVM/project e2cbc97 — libc/src/__support/File CMakeLists.txt dir_scan_result.h, libc/src/dirent scandir.cpp

[libc] Use RAII and DirScanResult in scandir (#240107)

When building LLVM libc in full-build mode, dir_scan_impl_test fails
with Scudo due to unaligned buffer casts and raw allocations in the test
mock. In production code, scan_impl relied on manual error jumps to free
partially accumulated entries and close the directory descriptor,
leaving callers vulnerable to leaks if intermediate failures occurred.

Modernise scan_impl and Dir::scan to manage the directory lifecycle and
accumulated entries using RAII (unique_ptr, ScannedEntries, and
AllocChecker), eliminating leak hazards on error paths at zero overhead
to the happy path. Return an ErrorOr<DirScanResult> pair rather than
mutating an indirect out-pointer, decouple dir.h from the scanning
template via dir_scan_result.h, and update unit tests with aligned
buffers and span-based loops.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+224-171libc/test/src/__support/File/dir_scan_impl_test.cpp
+124-71libc/src/__support/File/dir_scan_impl.h
+38-0libc/src/__support/File/dir_scan_result.h
+23-4libc/src/__support/File/CMakeLists.txt
+11-4libc/src/dirent/scandir.cpp
+14-0libc/test/src/dirent/scandir_test.cpp
+434-2504 files not shown
+449-26210 files

FreeBSD/src dbeadd4 — sys/i386/linux linux_sysvec.c, sys/netinet in_pcb.c

linux: Allow connect() with destination port 0

Linux allows connect() with destination port 0, but FreeBSD returns
EADDRNOTAVAIL in in_pcbconnect() and in6_pcbladdr(). Some Linux programs
(e.g. the new Android CLI tool) rely on this for routability checks,
however.

Add an SV_CONN_PORT0 flag to sv_flags which is set in the Linux sysvecs,
allowing the port 0 guard in the connect paths to be bypassed.

Reviewed by:    glebius, kib
Differential Revision:  https://reviews.freebsd.org/D60659
DeltaFile
+3-2sys/sys/sysent.h
+2-2sys/i386/linux/linux_sysvec.c
+3-1sys/netinet6/in6_pcb.c
+2-1sys/netinet/in_pcb.c
+10-64 files

OpenBSD/src LXnrj0j — sys/kern kern_sysctl.c

   Fix build with SMALL_KERNEL
VersionDeltaFile
1.500+3-4sys/kern/kern_sysctl.c
+3-41 files

OpenBSD/src E8AnBb3 — usr.bin/tmux server-client.c

   Send focus out to the pane when its client's terminal goes away, GitHub
   issue 5832 from Phil Kulak.
VersionDeltaFile
1.532+4-1usr.bin/tmux/server-client.c
+4-11 files

LLVM/project 15dcf06 — mlir/docs/DefiningDialects Operations.md, mlir/include/mlir/IR DialectBase.td

address review comments: derive op partitions from the ops
DeltaFile
+121-48mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
+50-63mlir/tools/mlir-tblgen/OpGenHelpers.cpp
+44-59mlir/test/mlir-tblgen/op-partitions.td
+36-46mlir/docs/DefiningDialects/Operations.md
+20-50mlir/test/mlir-tblgen/op-partitions-error.td
+10-31mlir/include/mlir/IR/DialectBase.td
+281-29713 files not shown
+329-41519 files

LLVM/project 630e8e4 — llvm/test/CodeGen/AArch64 fsh.ll vec-combine-compare-to-bitmask.ll, llvm/test/CodeGen/AArch64/GlobalISel combine-simplify-demanded-bits-trunc-xor-select.mir

[GlobalISel] Simplify demanded bits through G_TRUNC, G_XOR and G_SELECT

Extend CombinerHelper's demanded-bits simplification to G_TRUNC, G_XOR
and G_SELECT, following SelectionDAG's SimplifyDemandedBits, and make
them roots of the simplify_demanded_bits rule (used by the AArch64 and
AMDGPU post-legalizer combiners).

- G_TRUNC demands the low bits of its source, bypasses multi-use
  logical ops, and turns trunc (lshr X, C) into lshr (trunc X), C when
  no shifted-in bits are demanded.
- G_XOR drops an operand whose demanded bits are known zero, narrows to
  a type with free trunc/zext, becomes G_OR when no demanded bit can be
  set on both sides (disjoint only if that holds for all bits), becomes
  G_AND or NOT based on known bits, and commutes with a logical shift
  when the target allows it. Unlike SelectionDAG it does not shrink the
  XOR constant: without a targetShrinkDemandedConstant equivalent that
  can make an encodable immediate unencodable.
  simplifyMultipleUseDemandedBits also bypasses G_XOR.
- G_SELECT propagates demand to both value operands and intersects

    [11 lines not shown]
DeltaFile
+1,304-0llvm/test/CodeGen/AArch64/GlobalISel/combine-simplify-demanded-bits-trunc-xor-select.mir
+509-509llvm/test/CodeGen/AArch64/overflow-vec.ll
+362-364llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+201-222llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
+171-173llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+159-172llvm/test/CodeGen/AArch64/fsh.ll
+2,706-1,44036 files not shown
+3,659-2,12042 files

LLVM/project 54d631d — llvm/test/CodeGen/AMDGPU mad-mix-lo.ll ds-alignment.ll, llvm/test/CodeGen/AMDGPU/GlobalISel cvt_f32_ubyte.ll llvm.memset.ll

[GlobalISel] Use known bits to bypass multi-use AND/OR for demanded bits

simplifyMultipleUseDemandedBits only looked through a G_AND/G_OR whose
other operand is a constant. Like SelectionDAG's
SimplifyMultipleUseDemandedBits, also return an operand when known bits
show that the logic op does not change any demanded bit, treating
constants as fully known even at the analysis depth limit.

When a root G_AND/G_OR/shift cannot simplify an operand in place, route
that use to the value returned by simplifyMultipleUseDemandedBits instead
of giving up, leaving other users of the operand untouched.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+210-314llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
+161-169llvm/test/CodeGen/AMDGPU/ds-alignment.ll
+150-165llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
+50-51llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.ll
+40-46llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
+28-34llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
+639-7795 files not shown
+719-82211 files

LLVM/project 3ff7439 — llvm/lib/Target/AArch64/GISel AArch64InstructionSelector.cpp, llvm/test/CodeGen/AArch64 tbz-tbnz.ll

[AArch64][GlobalISel] Look through G_UBFX when folding into TB(N)Z

Testing bit b of (G_UBFX x, lsb, width) with b < width is testing bit
lsb + b of x. Walk through the extract in getTestBitReg so that
and (ubfx x, lsb, width), (1 << b) feeding a branch still selects a single
TB(N)Z on x, as SelectionDAG does.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+76-0llvm/test/CodeGen/AArch64/GlobalISel/opt-fold-ubfx-tbz-tbnz.mir
+11-24llvm/test/CodeGen/AArch64/tbz-tbnz.ll
+13-0llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
+100-243 files

LLVM/project 75c7810 — llvm/include/llvm/CodeGen TargetLowering.h, llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp

[TargetLowering] Decouple isDesirableToCommuteXorWithShift from SDNode (NFC)

Pass the shift direction, XOR mask, shift amount and vector-ness instead
of the XOR node, so that GlobalISel can ask the same question. The
AArch64 and ARM overrides keep accepting only scalar masks that cover
exactly the bits the shift preserves.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+10-21llvm/lib/Target/ARM/ARMISelLowering.cpp
+7-20llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+7-1llvm/include/llvm/CodeGen/TargetLowering.h
+5-2llvm/lib/Target/AArch64/AArch64ISelLowering.h
+3-1llvm/lib/Target/ARM/ARMISelLowering.h
+3-1llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+35-466 files

LLVM/project 340fb64 — mlir/docs/DefiningDialects Operations.md, mlir/test/lib/Dialect/Test TestOpsInterfaces.h TestOpsProperties.h

[mlir][ODS] Add so-called "Natural Sharding" to ops

Prior to this PR, ODS had one mechanism for sharding which equally split a `<Dialect>Ops.cpp.inc` file into `n` many, as requested on the command line (using preprocessor defines for selective enablement).
The motivation for doing so is that this can speed up compile time by splitting class definition compilation to multiple translation units.

However, this approach has one large disadvantage: Since only the `<Dialect>Ops.cpp.inc` is split, the correpsonding `<Dialect>Ops.h.inc` is still included in each translation unit. For a large dialect like NVVM or LLVM this leads to **much higher** concurrent memory usage while compiling as every compilation process contains an in-memory copy of the header plus can lead to slower compilation time overall if too many shards are being used as overall work goes up (`n` header parses instead of 1).

This PR tries to address these issues by introducing a new kind of sharding called "natural sharding". The idea is that we split `<Dialect>Ops.cpp.inc` and `<Dialect>Ops.h.inc` along so called partitions. A new header can be created for every partition and every translation unit only contains the code from its partition. This means a TU no longer needs to include the entire dialect header but only the header from its partition.
One can think of these as effectively being sub-dialects from the perspective of the required boilerplate.

We call it "Natural Sharding", as the partitions are defined by the dialect authors and are meant to be categories that naturally categorizes a dialects operations (e.g., Memory ops, control flow ops, arithmetic ops, intrinsic ops, etc. in the LLVM Dialect). The new `-op-partition` then filters output generation to just a given partition.

This PR introduces the mechanism and for testing, already exercises it on the test dialect. Users of `TestOps.h` were further changed to just include a given partition if deemed useful.
Overall this yielded the following build gains vs the existing sharding, measured on a 16 thread machine (Release + assertions, 16 parallel jobs, median of 3 runs). "Users of `MLIRTestDialect`" are other TUs (unittests mainly) that include `MLIRTestDialect` headers. Total memory is the sum of the max RSS of every TU:

| TUs                        | Compiler | Wall time (s)       | CPU time (s)       | Total memory used during compilation (GiB) |
|----------------------------|----------|---------------------|--------------------|--------------------------------------------|
| `MLIRTestDialect`          | clang    | 49.9 -> 35.2 (-29%) | 710 -> 365 (-49%)  | 23.3 -> 11.1 (-52%)                        |
| `MLIRTestDialect`          | clang -g | 57.8 -> 43.1 (-25%) | 791 -> 427 (-46%)  | 25.0 -> 12.5 (-50%)                        |

    [8 lines not shown]
DeltaFile
+224-174mlir/test/lib/Dialect/Test/TestOps.td
+12-238mlir/test/lib/Dialect/Test/TestOps.h
+154-0mlir/test/lib/Dialect/Test/TestOpsProperties.h
+110-0mlir/test/mlir-tblgen/op-partitions.td
+104-0mlir/docs/DefiningDialects/Operations.md
+90-0mlir/test/lib/Dialect/Test/TestOpsInterfaces.h
+694-41261 files not shown
+1,305-50667 files

FreeBSD/ports 6af96c9 — www/nextcloud-memories Makefile distinfo

www/nextcloud-memories: Update to 11.1.1
DeltaFile
+3-3www/nextcloud-memories/distinfo
+1-1www/nextcloud-memories/Makefile
+4-42 files

FreeBSD/ports 90c3f24 — irc/weechat Makefile distinfo

irc/weechat: Security update to 4.10.4

Security:       e107a804-dc3c-11f1-8135-8447094a420f
MFH:            2026Q4
DeltaFile
+3-3irc/weechat/distinfo
+1-1irc/weechat/Makefile
+4-42 files

LLVM/project 26b2231 — clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema/LifetimeSafety invalidations.cpp safety.cpp

[LifetimeSafety] Look through parentheses on the object of a member call (#240176)
DeltaFile
+4-4clang/test/Sema/LifetimeSafety/invalidations.cpp
+8-0clang/test/Sema/LifetimeSafety/safety.cpp
+2-2clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+14-63 files

LLVM/project bc2b46b — clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema/LifetimeSafety safety.cpp

[LifetimeSafety] Don't treat assignment to a temporary as a use of its pointee (#240175)

`handleAssignment` stripped the LHS with `IgnoreParenImpCasts()`, which
also skips `MaterializeTemporaryExpr`. For `View{v} = View()`,
`handleAccess()` then saw the prvalue `View{v}` instead of the
materialized temporary, so it checked the loans of the view's value
(`v`'s pointee) instead of the temporary's storage.

```cpp
View v;
{
  MyObj s;
  v = s;
}
v = View();        // no warning
View{v} = View();  // warning (false positive)
```
DeltaFile
+10-0clang/test/Sema/LifetimeSafety/safety.cpp
+1-1clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+11-12 files

OpenBSD/ports AfxcSUP — mail/roundcubemail Makefile distinfo, mail/roundcubemail/patches patch-config_defaults_inc_php

   security update to roundcubemail-1.7.6
   https://github.com/roundcube/roundcubemail/releases/tag/1.7.6
VersionDeltaFile
1.80.2.2+30-0mail/roundcubemail/pkg/PLIST
1.105.2.2+2-2mail/roundcubemail/distinfo
1.23.2.1+1-1mail/roundcubemail/patches/patch-config_defaults_inc_php
1.203.2.3+1-1mail/roundcubemail/Makefile
+34-44 files

OpenBSD/ports gxuv9fi — mail/roundcubemail Makefile distinfo, mail/roundcubemail/patches patch-config_defaults_inc_php

   security update to roundcubemail-1.7.6
   https://github.com/roundcube/roundcubemail/releases/tag/1.7.6
VersionDeltaFile
1.82+30-0mail/roundcubemail/pkg/PLIST
1.107+2-2mail/roundcubemail/distinfo
1.24+1-1mail/roundcubemail/patches/patch-config_defaults_inc_php
1.208+1-1mail/roundcubemail/Makefile
+34-44 files

FreeBSD/ports 0dc7f7b — security/vuxml/vuln 2026.xml

security/vuxml: Document Weechat vulnerabilities
DeltaFile
+26-0security/vuxml/vuln/2026.xml
+26-01 files

NetBSD/pkgsrc S5VovOo — net/py-python-socks Makefile distinfo

   py-python-socks: updated to 3.2.1

   3.2.1
   Close async TCP sockets when connection setup is interrupted
VersionDeltaFile
1.30+4-4net/py-python-socks/distinfo
1.31+2-2net/py-python-socks/Makefile
+6-62 files

FreeBSD/ports ef7869c — security/vuxml/vuln 2026.xml

security/vuxml: Document Roundcube vulnerabilities
DeltaFile
+29-0security/vuxml/vuln/2026.xml
+29-01 files

FreeNAS/freenas 899a312 — . tmp_tnc_integration.py

TEMP: datastore shim returns bool
DeltaFile
+1-0tmp_tnc_integration.py
+1-01 files