LLVM/project 778c0fbllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 phi-operand-gathered-loads.ll

[SLP] Fix GEP cost computation for load vectorization cost estimates

Pass Instruction::Load instead of Instruction::GetElementPtr to
getGEPCosts in isMaskedLoadCompress and CheckForShuffledLoads.
These call sites estimate costs for wide contiguous loads and sub-vector
load patterns, not for masked gather pointer vector formation. Using
Instruction::GetElementPtr incorrectly triggered the gather-style cost
path, which computes vector GEP formation costs. Since the call sites
already add scalarization overhead for pointer vector building
separately, this led to double-counting of pointer costs and inaccurate
vectorization decisions.

Reviewers: hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/191620
DeltaFile
+16-6llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
+5-6llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+21-122 files

FreeBSD/ports 99a2020devel/websvn distinfo Makefile

devel/websvn: Update to 2.8.7

MFH:            2026Q2
Changelog:      https://github.com/websvnphp/websvn/releases/tag/2.8.7

(cherry picked from commit 58845071e7d67d4d081a18a18fddb1d640487e2e)
DeltaFile
+3-3devel/websvn/distinfo
+1-1devel/websvn/Makefile
+4-42 files

FreeBSD/ports 5884507devel/websvn distinfo Makefile

devel/websvn: Update to 2.8.7

MFH:            2026Q2
Changelog:      https://github.com/websvnphp/websvn/releases/tag/2.8.7
DeltaFile
+3-3devel/websvn/distinfo
+1-1devel/websvn/Makefile
+4-42 files

LLVM/project b844cc8libcxx/docs/Status Cxx23Issues.csv, libcxx/include/__ranges iota_view.h

[libc++][ranges] LWG3610: `iota_view::size` sometimes rejects integer-class types (#155169)

Fixes #104948

# References

- https://wg21.link/range.iota.view
- https://wg21.link/range.iota.view#17
- https://wg21.link/LWG3610

---------

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+16-0libcxx/test/std/ranges/range.factories/range.iota.view/size.pass.cpp
+1-1libcxx/include/__ranges/iota_view.h
+1-1libcxx/docs/Status/Cxx23Issues.csv
+18-23 files

LLVM/project 48ad929libcxx/test/std/numerics/numeric.ops/numeric.ops.sat saturating_cast.pass.cpp saturate_cast.pass.cpp

[libc++][numeric] P4052R0: Renaming saturation arithmetic functions (#189574)

Implements P4052R0.

Also renames:
- the internal names for consistency.
- test files (no changes to the contents but the function names).

Fixes: #189589

---------

Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+394-0libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_cast.pass.cpp
+0-394libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
+177-0libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_mul.pass.cpp
+0-177libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
+0-171libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
+171-0libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturating_add.pass.cpp
+742-74227 files not shown
+1,572-1,57133 files

LLVM/project be62f27llvm/lib/Target/AMDGPU GCNSchedStrategy.cpp GCNSchedStrategy.h, llvm/test/CodeGen/AMDGPU sched_mfma_rewrite_copies.mir misched-remat-revert.ll

[AMDGPU][Scheduler] Use MIR-level rematerializer in rematerialization stage (#189491)

This makes the scheduler's rematerialization stage use the
target-independent rematerializer. Previously duplicate logic is
deleted, and restrictions are put in place in the stage so that the same
constraints as before apply on rematerializable registers (as the
rematerializer is able to expose many more rematerialization
opportunities than what the stage can track at the moment). Consequently
it is not expected that this change improves performance overall, but it
is a first step toward being able to use the rematerializer's more
advanced capabilities during scheduling.

This is *not* a NFC for 2 reasons.

- Score equalities between two rematerialization candidates with
otherwise equivalent score are decided by their corresponding register's
index handle in the rematerializer (previously the pointer to their
state object's value). This is determined by the rematerializer's
register collection order, which is different from the stage's old

    [12 lines not shown]
DeltaFile
+551-551llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_copies.mir
+0-577llvm/test/CodeGen/AMDGPU/misched-remat-revert.ll
+108-294llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+49-73llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
+36-36llvm/test/CodeGen/AMDGPU/sched_mfma_rewrite_cost.mir
+19-19llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
+763-1,5502 files not shown
+786-1,5738 files

OpenBSD/ports 7Y9LImJlang/clazy Makefile distinfo

   Update clazy to 1.17.1

   Only one bug fix:
    * fully-qualified-moc-types: Fix false positive regression for
      pointer/reference types in generics.
VersionDeltaFile
1.26+3-2lang/clazy/Makefile
1.15+2-2lang/clazy/distinfo
+5-42 files

LLVM/project b31d8bcllvm/include/llvm/ExecutionEngine/JITLink JITLink.h

[JITLink] Use NonOwningSymbolStringPtrs in ExternalSymbolsMap. (#191634)

SymbolStringPtr comparisons should be more efficient that string
comparisons. Fixes a FIXME.
DeltaFile
+16-11llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
+16-111 files

FreeBSD/ports 35952b6mail/postfix-current distinfo Makefile

mail/postfix-current: Update to 3.12-20260410
DeltaFile
+3-3mail/postfix-current/distinfo
+2-2mail/postfix-current/Makefile
+5-52 files

FreeBSD/ports 346f07ddeskutils/copyq distinfo Makefile

deskutils/copyq: Update to 15.0.0

ChangeLog: https://github.com/hluk/CopyQ/releases/tag/v15.0.0
DeltaFile
+3-3deskutils/copyq/distinfo
+1-3deskutils/copyq/Makefile
+1-0deskutils/copyq/pkg-plist
+5-63 files

NetBSD/pkgsrc Esb76JPdoc CHANGES-2026

   doc: Updated databases/ruby-activeldap to 7.2.3
VersionDeltaFile
1.2228+2-1doc/CHANGES-2026
+2-11 files

LLVM/project 9270a34llvm/test/tools/llvm-readobj/ELF packed-relocs-errors.s dynamic-tags.test, llvm/tools/llvm-readobj ELFDumper.cpp ObjDumper.cpp

[llvm-readobj][ELF] Use WrappedError to filter duplicates

Switch from StringError to WrappedError. Errors of the form "Prefix:
Error" can now be filtered out based on the underlying error while
preserving distinct prefixes, resulting in clearer llvm-readobj output.
DeltaFile
+204-192llvm/tools/llvm-readobj/ELFDumper.cpp
+16-13llvm/test/tools/llvm-readobj/ELF/packed-relocs-errors.s
+20-8llvm/tools/llvm-readobj/ObjDumper.cpp
+0-11llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
+4-7llvm/test/tools/llvm-readobj/ELF/program-headers.test
+0-7llvm/test/tools/llvm-readobj/ELF/stack-sizes.test
+244-23811 files not shown
+249-25817 files

NetBSD/pkgsrc JS28k9rdatabases/ruby-activeldap distinfo Makefile

   databases/ruby-activeldap: update to 7.2.3

   7.2.3 (2026-04-12)

   Improvements

   * Suppressed frozen string literal warnings.
        - GH-213
        - Patch by Axel Steiner

   Thanks

   * Axel Steiner
VersionDeltaFile
1.21+4-4databases/ruby-activeldap/distinfo
1.32+2-2databases/ruby-activeldap/Makefile
+6-62 files

LLVM/project 0b016dcllvm/include/llvm/Object ELF.h, llvm/lib/Object ELF.cpp

[Object][ELF] Pass Error to WarningHandler

Warning consumers may need to handle errors based on their type. Pass
the Error object instead of a string representation to enable this. This
also brings WarningHandler in line with Support/WithColor.h.
DeltaFile
+22-23llvm/include/llvm/Object/ELF.h
+5-4llvm/tools/llvm-objdump/llvm-objdump.cpp
+4-3llvm/tools/llvm-readobj/ObjDumper.cpp
+2-2llvm/unittests/Object/ELFObjectFileTest.cpp
+2-2llvm/lib/Object/ELF.cpp
+2-2llvm/tools/llvm-readobj/ELFDumper.cpp
+37-362 files not shown
+39-388 files

FreeBSD/src 9d87f30sys/amd64/amd64 machdep.c

kern/amd64/machdep: Replace memset in wrmsr_early_safe_end

GENERIC-KASAN kernel failed to boot on a Dell PowerEdge C6615 with
an AMD EPYC 8224P CPU; UEFI BIOS caught a #GP exception with %RIP
in kasan_memset where %GS relative pointer (curthread->td_pflags2)
was dereferenced. Investigation led to wrmsr_early_safe_end which
calls memset to clear early #GP IDT entry. Replacing memset with
__builtin_memset_inline still resulted in the compiler emitting a
call to the memset resolver in GENERIC-KASAN build and the kernel
stil faulted during boot. This version which has been successfully
tested with both GENERIC and GENERIC-KASAN kernels uses memset_early.

Signed-off-by: Kristofer Peterson <kris at tranception.com>
Reviewed-by: kib
(cherry picked from commit 615f1b9eb17c921bbcb0cce2b9ad61910361325b)
DeltaFile
+1-1sys/amd64/amd64/machdep.c
+1-11 files

FreeBSD/src 06f98dflibexec/flua/modules lfs.c

stand: lua: break out a few more dirent types in lfs

These are non-standard and specific to the version used in loader.  We
have some desire to recognize symlinks to avoid filtering out kernel
symlinks in the autodetection bits when they would be perfectly fine to
`load`.

This won't be usable right away, so any impending use will need to be
careful to account for nil.

Reported by:    leres

(cherry picked from commit bc531a96c9b28b1cabcd5deb0c9f8f6d815cfebc)
DeltaFile
+4-0libexec/flua/modules/lfs.c
+4-01 files

FreeBSD/src c9e676fusr.sbin/bhyveload bhyveload.c

bhyveload: simplify cb_open() and eliminate minor TOCTOU

It's not at all clear why I wrote it like this, but we can do better.

I wouldn't think this really has any meaningful security implications
since the hierarchy in question can't really be modified by the guest
scripts, but it would seem to make it a little more robust.

Reviewed by:    bnovkov, markj

(cherry picked from commit 6da9d465c54bf2e3496e83db025c5d22f3b3cc17)
DeltaFile
+12-14usr.sbin/bhyveload/bhyveload.c
+12-141 files

FreeBSD/src 6c92918bin/ls ls.c, bin/ls/tests ls_tests.sh

ls: check fts_children() for errors that may not surface otherwise

In particular, if one simply does a non-recursive `ls` on a directory
that is not accessible, there are some classes of errors that may cause
it to fail that wouldn't be surfaced unless we do an fts_read() that
will recurse into the inaccessible directory.  Catch those kinds of
errors here since we cannot expect to an FTS_ERR/FTS_DNR entry to follow
up on them.

PR:             287451
Reviewed by:    kib
Discusssed with:        des

(cherry picked from commit 7bf81e39d83087dc7f984077b5eed5a48df794d4)
DeltaFile
+30-0bin/ls/tests/ls_tests.sh
+17-0bin/ls/ls.c
+47-02 files

FreeBSD/src f329d69sys/dev/tpm tpm20.c tpm20.h

tpm20: fix suspend/resume and entropy harvesting

There were a few problem here:
  - TPM2_Shutdown results in a response that we need to either process
    or ignore, otherwise any tpm20_write or tpm20_harvest call will
    trivially hang on an `sc->pending_data_length != 0`
  - We should have a matching TPM2_Startup upon resume to restore any
    state that should have persisted
  - We must drain the harvest task before we suspend to avoid problems
    there

This commit is sufficient to avoid breaking suspend/resume.

Co-authored-by: markj
Tested by:      garga

(cherry picked from commit 38a4995eb52db21116f8b37ed942e66a8c2f050f)
DeltaFile
+63-0sys/dev/tpm/tpm20.c
+1-0sys/dev/tpm/tpm20.h
+1-0sys/dev/tpm/tpm_crb.c
+1-0sys/dev/tpm/tpm_tis.c
+66-04 files

FreeBSD/src b71d574release Makefile.vm

release: Pass optional VM_IMAGE_CONFIG to vm-image

`make vm-image` calls mk-vmimage.sh, which supports
`-c CONFFILE`. This file gets sourced before building the image.

One example of how to use it is to define
vm_extra_filter_base_packages() to filter the list of packages
installed into the VM image:

    # vm-nodbg32.conf
    vm_extra_filter_base_packages() {
        grep -v -E '(-dbg|lib32)'
    }

    $ make VM_IMAGE_CONFIG=path/to/vm-nodbg32.conf \
        VMFORMATS=raw \
        -DWITH_VMIMAGES \
        vm-image


    [3 lines not shown]
DeltaFile
+1-0release/Makefile.vm
+1-01 files

FreeBSD/src 4f4669dtools/build/mk OptionalObsoleteFiles.inc

OptionalObsoleteFiles: Add etc/zfs/compatibility.d

If the world is built and installed with WITHOUT_ZFS, then make
-DBATCH_DELETE_OLD_FILES delete-old-dirs will give the error:

> rmdir: /etc/zfs: Directory not empty

because /etc/zfs/compatibility.d is still there.  While we're here,
clean out /usr/share/zfs as well.

Co-authored-by: kevans

(cherry picked from commit 5c9d988d865cc4ce849507173c0a2e2f399d0f62)
DeltaFile
+58-0tools/build/mk/OptionalObsoleteFiles.inc
+58-01 files

FreeBSD/src 05b84d6sys/dev/uart uart_tty.c

uart: fix sleeping while holding mutex in uart_tty_detach()

Move swi_remove() call before acquiring the tty lock. swi_remove() calls
intr_event_remove_handler() which may sleep via msleep(), causing a lock
order violation when called with the tty mutex held.

The software interrupt handler removal operates on the interrupt event
structure independently and does not require the tty lock. This matches
the pattern used in other drivers such as tcp_hpts.c where swi_remove()
is called without holding other locks.

Reviewed by:    imp, kevans

(cherry picked from commit ed3a2469a71e0ef48cf8e636c35e64a011756da3)
DeltaFile
+2-1sys/dev/uart/uart_tty.c
+2-11 files

FreeBSD/src 874d779sys/kern subr_firmware.c

firmware: Fix inverted FIRMWARE_GET_NOWARN logic

The try_binary_file() function has inverted logic for the
FIRMWARE_GET_NOWARN flag.  When the flag is set (meaning "don't warn"),
the code sets warn=true and makes noise anyway.

Invert the assignment to warn to correctly suppress warnings when
FIRMWARE_GET_NOWARN is set.

Reviewed by:    kevans

(cherry picked from commit fdcd67be8274d237ae2c87d6475d9d34b440b8d8)
DeltaFile
+1-1sys/kern/subr_firmware.c
+1-11 files

FreeBSD/src b39cac4libexec/rc/rc.d zfs

rc: run the zfs rc script before tmp

The tmp rc script has much the same problem that the var does: it wants
to test if /tmp is writable, and mount a tmpfs if it's not.  This means
that we actually want our zfs datasets mounted first, because we might
have a /tmp dataset that changes the story.

The ordering problem is particularly noticable with a r/o zfs root,
since the write test will fail and we'll mount a tmpfs that later gets
covered by our /tmp dataset.  If that /tmp dataset inherited readonly,
then we're still in trouble.

This also fixes `tmpmfs=yes`, which would again get covered by a zfs
dataset with the existing ordering.

Reviewed by:    des

(cherry picked from commit d3f21856aa72c28408660ed40ce76bbd0716a991)
DeltaFile
+1-1libexec/rc/rc.d/zfs
+1-11 files

FreeBSD/src 3f4d641sys/dev/vt vt_core.c vt.h

vt(4): allow up to _SIG_MAXSIG (128) for VT_SETMODE

VT_SETMODE ioctl currently checks the provided signal numbers with its
own ISSIGVALID macro that uses NSIG (32) as a maximum, although the code
that will actually send the signal in sys/kern/kern_sig.c uses
_SIG_VALID which allows up to _SIG_MAXSIG (128).

This change aligns the vt code with the kernel internals and enables the
use of higher signal numbers so that applications are not limited to
SIGUSR1 and SIGUSR2 for vt release and acquire signals.

Signed-off-by:  Quentin Thébault <quentin.thebault at defenso.fr>
Reviewed by:    emaste, imp, kevans

(cherry picked from commit 5e1c7867e1b9a8abe7307d01087cddc057e39859)
DeltaFile
+3-3sys/dev/vt/vt_core.c
+0-1sys/dev/vt/vt.h
+3-42 files

FreeBSD/src 605fd42usr.bin/truncate truncate.c, usr.bin/truncate/tests truncate_test.sh

truncate: fix a minor nit + add a hole-punching test

The struct spacectl_range we use is only really used in these three
lines of code, so re-scope it down to just the dealloc branch.  This is
marginally easier to reason about what might be necessary to replace in
porting our truncate(1) to other platforms.

While we're here, add a test for the -d flag to be sure it really does
punch a hole in the file.  The test also tries to confirm that it does
not disturb other segments of the file in the process, just to inspire
some confidence that it's not corrupting the file somehow.

Sponsored by:   Klara, Inc.
Reviewed by:    markj

(cherry picked from commit eacc501eff52db16b7b784c89a3a4a03c9a3ef34)
DeltaFile
+48-0usr.bin/truncate/tests/truncate_test.sh
+2-1usr.bin/truncate/truncate.c
+50-12 files

FreeBSD/src 6422a24sys/conf files.amd64

files.amd64: remove some lines duplicated from files.x86

These were added to files.x86 because they were duplicated in both
files.i386 and files.amd64, but they did not end up removed in the
latter.  Garbage collect them now.

Reviewed by:    jhibbits
Sponsored by:   Klara, Inc.
Sponsored by:   NetApp, Inc.

(cherry picked from commit a8c594d27779b95f33c856521ec1039fa552d869)
DeltaFile
+0-2sys/conf/files.amd64
+0-21 files

FreeBSD/src 77196f0libexec/nuageinit nuageinit

nuageinit: require lfs where it's needed

nuageinit largely already did this, but one spot was missed -- add the
necessary require() in to get the module loaded.

(cherry picked from commit bb4167463ac44b47ded4e0223a0abd8381ca6cd8)
DeltaFile
+1-0libexec/nuageinit/nuageinit
+1-01 files

FreeBSD/src e1efe20sys/fs/pseudofs pseudofs.c

pseudofs: don't leak the unrhdr on error

Reviewed by:    des, kib

(cherry picked from commit b9746f6185c708ebadc9a8b1e640c1deab52b161)
DeltaFile
+1-0sys/fs/pseudofs/pseudofs.c
+1-01 files

FreeBSD/src 675ea9dsys/kern vfs_init.c

vfs: handle vfs_init() failures

Most vfs_init implementations will not fail, with the notable current
exception that tmpfs_subr_init() can fail to allocate a new swap pager
type, in which case we probably do not want to proceed and keep it
registered.  linsysfs was a potential consumer, but we opted to go a
different direction and move pseudofs init/deinit over to first mount
and last mount instead.

Reviewed by:    fuz, kib

(cherry picked from commit 6d33507ff9b877f52516df00b012715b55d4e14f)
DeltaFile
+15-6sys/kern/vfs_init.c
+15-61 files