LLVM/project cc5f79bllvm/lib/Transforms/Vectorize VPlan.h, llvm/test/Transforms/LoopVectorize early_exit_with_outer_loop.ll

Reapply "[VPlan] Refine hasEarlyExit check." (#207838) (#208518)

This reverts commit b69ec1023d6604106cb64f9a6a6b04e9c3e5d533.

Recommit with small fix for potential nullptr dereference.

Original message:
Currently hasEarlyExit misses cases where we have things like dead exit
blocks or simplified the middle block.

Update to check by counting the predecessors.

This fixes a case where we missed properly updating LoopInfo due to
incorrect results.

Fixes https://github.com/llvm/llvm-project/issues/206007.
DeltaFile
+33-0llvm/test/Transforms/LoopVectorize/early_exit_with_outer_loop.ll
+18-8llvm/lib/Transforms/Vectorize/VPlan.h
+51-82 files

FreeNAS/freenas 2e23c4bsrc/middlewared/middlewared/alert/source zfs_tier.py, src/middlewared/middlewared/plugins/failover_ event.py

Ensure truenas_zfstierd state on failover

Regenerate the truenas_zfstierd config on the promoted node: the
service now owns its etc group and vrrp_master restarts it, so an
enabled database no longer surfaces a spurious tiering-disabled
error to clients.

Materialize enum_jobs() in the tier alert source so per-job
get_info() no longer opens a second read transaction inside the
live iterator (MDB_BAD_RSLOT; LMDB allows one read txn per thread).

(cherry picked from commit 41b32455f38864877a1576100c139461d0df6c3d)
DeltaFile
+9-0src/middlewared/middlewared/plugins/failover_/event.py
+6-1src/middlewared/middlewared/alert/source/zfs_tier.py
+1-0src/middlewared/middlewared/plugins/service_/services/truenas_zfstierd.py
+16-13 files

FreeNAS/freenas 8090f0asrc/middlewared/middlewared/alert/source zfs_tier.py, src/middlewared/middlewared/plugins/failover_ event.py

NAS-141711 / 27.0.0-BETA.1 / Ensure truenas_zfstierd state on failover (#19280)

Regenerate the truenas_zfstierd config on the promoted node.

Materialize enum_jobs() in the tier alert source so per-job get_info()
no longer opens a second read transaction inside the live iterator
(MDB_BAD_RSLOT; LMDB allows one read txn per thread per db).
DeltaFile
+9-0src/middlewared/middlewared/plugins/failover_/event.py
+6-1src/middlewared/middlewared/alert/source/zfs_tier.py
+1-0src/middlewared/middlewared/plugins/service/services/truenas_zfstierd.py
+16-13 files

FreeBSD/ports b98076egraphics/converseen distinfo Makefile

graphics/converseen: Update to 0.15.2.6

ChangeLog: https://converseen.fasterland.net/changelog/

 * Updated French translation
 * Various Bugfixes
DeltaFile
+3-3graphics/converseen/distinfo
+1-2graphics/converseen/Makefile
+4-52 files

LLVM/project f49e384mlir/test/Integration/Dialect/XeGPU/WG simple_mxfp_gemm.mlir

[MLIR][XeGPU] Disable test execution, allow compilation (#208482)
DeltaFile
+7-8mlir/test/Integration/Dialect/XeGPU/WG/simple_mxfp_gemm.mlir
+7-81 files

LLVM/project e64ddf5llvm/test/CodeGen/RISCV stack-offset-large.ll

[RISCV] Follow-up fix for UB in #208223 (#208507)

Fix the detected UB in the `stack_larger_than_signed_64bit_warning`
test-case. Now just checks that the warning is correctly not emitted.
DeltaFile
+40-9llvm/test/CodeGen/RISCV/stack-offset-large.ll
+40-91 files

FreeBSD/ports 3a0a535net/kmime Makefile

net/kmime: Mark conflict with KF6 kmime

(cherry picked from commit d188431fedf94fb0e54117e6f24b0708a2e121c3)
DeltaFile
+2-0net/kmime/Makefile
+2-01 files

FreeBSD/ports 0d239f8net Makefile, net/kf6-kmime pkg-plist Makefile

net/kf6-kmime: Add new port

Library for handling MIME data.

This library is going to replace KDE PIM mime (net/kmime).
Do not connect it to the Uses/kde.mk yet.

WWW: https://invent.kde.org/frameworks/kmime
(cherry picked from commit 25b5b2e6bc79fd7a05900e61c9de40ed18efcf9e)
DeltaFile
+99-0net/kf6-kmime/pkg-plist
+15-0net/kf6-kmime/Makefile
+3-0net/kf6-kmime/distinfo
+1-0net/Makefile
+118-04 files

FreeBSD/ports d188431net/kmime Makefile

net/kmime: Mark conflict with KF6 kmime
DeltaFile
+2-0net/kmime/Makefile
+2-01 files

FreeBSD/ports 25b5b2enet Makefile, net/kf6-kmime pkg-plist Makefile

net/kf6-kmime: Add new port

Library for handling MIME data.

This library is going to replace KDE PIM mime (net/kmime).
Do not connect it to the Uses/kde.mk yet.

WWW: https://invent.kde.org/frameworks/kmime
DeltaFile
+99-0net/kf6-kmime/pkg-plist
+15-0net/kf6-kmime/Makefile
+3-0net/kf6-kmime/distinfo
+1-0net/Makefile
+118-04 files

LLVM/project 8c009c1clang/include/clang/AST Expr.h, clang/include/clang/Basic Builtins.td

[SystemZ][Clang] Add support for the z/OS va_list type (#202397)

On z/OS, the user has a choice between two different va_list formats.  
1. (default) uses the __builtin_zos_va_list typedef for va_list, being
added in this change
2. (-D_VARARG_EXT_) uses __builtin_va_list typedef for va_list.

The __builtin_zos_va_list type is `char * [2]`. 

This PR adds this type along with the __builtin_zos_va_start(),
__builtin_zos_va_end() & __builtin_zos_va_copy() functions to go with
it.
DeltaFile
+154-0clang/test/CodeGen/SystemZ/zos-abi.c
+42-0clang/lib/CodeGen/Targets/SystemZ.cpp
+28-0clang/lib/CodeGen/CGBuiltin.cpp
+23-5clang/lib/Sema/SemaExpr.cpp
+15-6clang/include/clang/AST/Expr.h
+19-0clang/include/clang/Basic/Builtins.td
+281-1118 files not shown
+374-1824 files

LLVM/project a691e3bcmake/Modules GetTripleCMakeSystemName.cmake

runtimes: Don't set CMAKE_SYSTEM_NAME=Android

Cmake requires an NDK for android. Prior to 00b2f814182,
the default system name would be the host system. Take the
normal linux path, which is a more realistic approximation of
the old behavior.
DeltaFile
+6-3cmake/Modules/GetTripleCMakeSystemName.cmake
+6-31 files

FreeNAS/freenas 4b3d0desrc/middlewared/middlewared/plugins mail.py

fix duplicate From header and SMTP crash
DeltaFile
+5-14src/middlewared/middlewared/plugins/mail.py
+5-141 files

LLVM/project 1b992c7llvm/lib/Transforms/Vectorize/SandboxVectorizer VecUtils.cpp, llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes BottomUpVec.cpp

[SBVec] Implement topDown/botUp vectorizers in unison

This patch introduces the `top-down-vec` pass to the Sandbox Vectorizer,
adding the ability to traverse use-def chains top-down to discover and
collect vectorization opportunities. Furthermore, this patch unifies
the two vectorizers into a single implementation to minimize code
duplication.
* vectorize in the same direction as the scheduler direction
* use AuxArg to determine vectorizer direction
* move user collection to VecUtils and add unit tests
* handle legality results
* introduce BundleTy and GetOpIdxVec
* introduce getNextBundles
DeltaFile
+441-0llvm/test/Transforms/SandboxVectorizer/topdown_vec.ll
+229-0llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
+93-28llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
+79-0llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
+69-10llvm/test/Transforms/SandboxVectorizer/pack.ll
+69-1llvm/test/Transforms/SandboxVectorizer/external_uses.ll
+980-393 files not shown
+1,023-519 files

LLVM/project 44cb124clang/lib/CodeGen CGVTables.cpp, clang/test/CodeGenCXX vtable-key-function-ios.cpp construction-vtable-unnamed-addr.cpp

[CodeGen] Mark weak vtables unnamed_addr on duplicable-vtable targets (#205930)

When a target's `getVTableUniqueness()` is `UniqueIfStrongLinkage`, as
on Apple Mach-O, the platform may emit a class's weak vtable as a
separate copy in more than one linkage unit. A symbol that can
legitimately exist at several addresses has no meaningful address, so
such a vtable can be marked `unnamed_addr`.

On Mach-O, a weak vtable that is `unnamed_addr` lowers to a
`.weak_def_can_be_hidden` definition, which the static linker coalesces
and then drops from the dynamic export trie. Keeping these vtables out
of the exported symbol set cuts the work dyld has to do at load time.

#200108 dropped `unnamed_addr` from vtables because the exact
`dynamic_cast` optimization compares an object's vtable pointer against
a known vtable address and depends on that address being unique. Adding
`unnamed_addr` is safe here because that optimization is never performed
for these weak vtables, so nothing relies on them having a unique
address.

rdar://179929460
DeltaFile
+16-8clang/test/CodeGenCXX/vtable-key-function-ios.cpp
+22-0clang/test/CodeGenCXX/construction-vtable-unnamed-addr.cpp
+10-10clang/test/CodeGenCXX/type_visibility.cpp
+10-9clang/test/CodeGenCXX/ptrauth-explicit-vtable-pointer-control.cpp
+10-6clang/test/CodeGenCXX/key-function-vtable.cpp
+12-2clang/lib/CodeGen/CGVTables.cpp
+80-3511 files not shown
+117-6117 files

LLVM/project a646503llvm/lib/Analysis ConstraintSystem.cpp, llvm/test/Transforms/ConstraintElimination constraint-overflow.ll

[ConstraintElim] Skip overflowing row combinations in FM elimination. (#208404)

The constraint system uses 64-bit coefficients and previously aborted
the entire elimination as soon as a single row combination overflowed.

This is unnecessary pessimistic and can lead to lost optimizations if
the system contains constraints with large coefficients which do not
contribute to a particular solution (e.g. signed wrap checks).

Instead, skip only the overflowing row combination and continue.

Compile-time impact is in the noise:

https://llvm-compile-time-tracker.com/compare.php?from=4f41b6be1a89796d6ce89188a4fd4e0cde9d06b7&to=1dedecc1cefea9c94631cdb272717d898ac6696b&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/208404
DeltaFile
+16-7llvm/lib/Analysis/ConstraintSystem.cpp
+2-4llvm/test/Transforms/ConstraintElimination/constraint-overflow.ll
+18-112 files

FreeNAS/freenas 433c30fsrc/middlewared/middlewared/plugins/pool_ pool.py

pool: hoist vdev min/max disk maps to module constants

(cherry picked from commit 01ffa4d112799b6259188ebb62403a26ad95afc7)
DeltaFile
+31-24src/middlewared/middlewared/plugins/pool_/pool.py
+31-241 files

FreeNAS/freenas 88a708esrc/middlewared/middlewared/pytest/unit/plugins/pool test_validate_topology.py

pool: ruff format topology validation tests

(cherry picked from commit dfff39c73ba9bfcc9586f45ef2fc4d4d963de315)
DeltaFile
+42-52src/middlewared/middlewared/pytest/unit/plugins/pool/test_validate_topology.py
+42-521 files

FreeNAS/freenas b22ae74src/middlewared/middlewared/api/v26_0_0 pool.py, src/middlewared/middlewared/plugins/pool_ pool.py

pool: enforce vdev geometry limits and add force_topology

Enforce equal data-vdev width and cap RAIDZ/mirror width at
15/4 in pool.create and pool.update, mirroring truenas_pylibzfs.
Add force_topology (26 API) to bypass these topology policy
checks and the special/dedup redundancy rule; structural checks
still apply. Reject force_topology on Enterprise-licensed
systems.

(cherry picked from commit f07f7804cbb84ec1fe331e04485ec1b667dd3a2d)
DeltaFile
+205-0src/middlewared/middlewared/pytest/unit/plugins/pool/test_validate_topology.py
+58-1src/middlewared/middlewared/plugins/pool_/pool.py
+10-0src/middlewared/middlewared/api/v26_0_0/pool.py
+273-13 files

FreeNAS/freenas 8227824src/middlewared/middlewared/plugins mail.py

fix duplicate From header and SMTP crash
DeltaFile
+5-14src/middlewared/middlewared/plugins/mail.py
+5-141 files

FreeNAS/freenas 1440a79src/middlewared/middlewared/api/v26_0_0 pool.py, src/middlewared/middlewared/plugins/pool_ pool.py

NAS-141716 / 26.0.0-RC.1 / enforce vdev topology limits and add force_topology (#19282)

Enforce equal data-vdev width and cap RAIDZ/mirror width at 15/4 in
pool.create and pool.update, mirroring truenas_pylibzfs. Add
force_topology (26 API) to bypass these topology policy checks and the
special/dedup redundancy rule; structural checks still apply. Reject
force_topology on Enterprise-licensed systems.
DeltaFile
+195-0src/middlewared/middlewared/pytest/unit/plugins/pool/test_validate_topology.py
+76-12src/middlewared/middlewared/plugins/pool_/pool.py
+10-0src/middlewared/middlewared/api/v26_0_0/pool.py
+281-123 files

FreeNAS/freenas 77a3426src/middlewared/middlewared/plugins/mail send_queue.py

fix duplicate From header in email
DeltaFile
+3-2src/middlewared/middlewared/plugins/mail/send_queue.py
+3-21 files

LLVM/project 0e8ac33llvm/test/CodeGen/AArch64 llvm.frexp.ll ldexp-arm64ec.ll, llvm/test/CodeGen/SPIRV/llvm-intrinsics frexp.ll

[X86][AArch64][SPIRV] add more tests for `ldexp`/`frexp` (#208462)

In preparation of moving the implementation from `LegalizeDAG` into
`ExpandIRInsts`.
DeltaFile
+83-56llvm/test/CodeGen/X86/ldexp.ll
+81-6llvm/test/CodeGen/SPIRV/llvm-intrinsics/frexp.ll
+48-13llvm/test/CodeGen/AArch64/llvm.frexp.ll
+46-13llvm/test/CodeGen/X86/llvm.frexp.ll
+8-0llvm/test/CodeGen/AArch64/ldexp-arm64ec.ll
+0-1llvm/test/CodeGen/AArch64/ldexp.ll
+266-896 files

FreeBSD/ports c4b72b6audio/plasma6-kpipewire distinfo Makefile

audio/plasma6-kpipewire: Update to 6.6.6.1

This release is to fix regression with ABI compatibility.

(cherry picked from commit 445d18a41e5517f6beb1f4ca9885d481aae9bbe7)
DeltaFile
+3-3audio/plasma6-kpipewire/distinfo
+1-1audio/plasma6-kpipewire/Makefile
+4-42 files

FreeBSD/ports 445d18aaudio/plasma6-kpipewire distinfo Makefile

audio/plasma6-kpipewire: Update to 6.6.6.1

This release is to fix regression with ABI compatibility.
DeltaFile
+3-3audio/plasma6-kpipewire/distinfo
+1-1audio/plasma6-kpipewire/Makefile
+4-42 files

LLVM/project a627e7eclang/include/clang/Basic AttrDocs.td Attr.td, clang/lib/Sema SemaDeclAttr.cpp CheckExprLifetime.cpp

[clang][Sema] Deprecate `global`/`unknown` in `lifetime_capture_by` (#196635)

Earlier, special `lifetime_capture_by` spellings `global` and `unknown`
could conflict with actual parameter names, causing [some
code](https://godbolt.org/z/YWhW1dnoe) to fail to compile.

Because of that, we deprecate those parameters (they can probably be
removed in the near future)

#192102

Assisted-by: GPT-5.4 for cleanup
DeltaFile
+85-16clang/lib/Sema/SemaDeclAttr.cpp
+42-10clang/test/SemaCXX/attr-lifetime-capture-by.cpp
+23-11clang/include/clang/Basic/AttrDocs.td
+23-11clang/test/Sema/LifetimeSafety/capture-by.cpp
+8-6clang/lib/Sema/CheckExprLifetime.cpp
+11-1clang/include/clang/Basic/Attr.td
+192-554 files not shown
+214-6210 files

FreeBSD/ports 9f022e1sysutils/opensbi distinfo Makefile, sysutils/u-boot-sifive-fu540 Makefile

sysutils/opensbi: update to v1.9

Bump dependent u-boot ports.

Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-3sysutils/opensbi/distinfo
+1-1sysutils/u-boot-starfive-visionfive2/Makefile
+1-1sysutils/u-boot-sifive-fu540/Makefile
+1-1sysutils/opensbi/Makefile
+1-1sysutils/u-boot-sifive-fu740/Makefile
+7-75 files

LLVM/project 62d05bellvm/lib/Target/BPF BPFMIPeephole.cpp, llvm/test/CodeGen/BPF mov32-64-subreg-source.mir

BPF: Fix misfolding subregisters

This would end up introducing a copy between registers
with mismatched sizes previously. Defends against verifier
failures in a future change.

The actual transform here should be deleted. Optimizations should
not be trying to introduce SUBREG_TO_REG.
DeltaFile
+44-0llvm/test/CodeGen/BPF/mov32-64-subreg-source.mir
+5-1llvm/lib/Target/BPF/BPFMIPeephole.cpp
+49-12 files

FreeBSD/src 712623asys/dev/usb/controller generic_ehci_fdt.c

generic_ehci_fdt: fix driver softc size

This subclass declares its own softc structure adding necessary members
after the embedded ehci_softc_t. The full size of the struct must be
included in the driver declaration, otherwise the allocation backing the
softc is not guaranteed to be large enough.

Reported by:    KASAN
Reviewed by:    jrtc27, manu
Fixes: 7a58744fd0f1 ("Split out the attachment from the generic-ehci driver")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57951

(cherry picked from commit d5332d3a904242cb82e7dbf35e4aeec7c2df4402)
DeltaFile
+1-1sys/dev/usb/controller/generic_ehci_fdt.c
+1-11 files

FreeBSD/src 745c0eastand/libofw openfirm.c openfirm.h, stand/powerpc/ofw ofwfdt.c

stand/libofw: make OF_hasprop() part of the library

Currently it is only needed by powerpc ofwfdt.c, and defined statically
there. Make it available as part of libofw, mirroring what we have in
the kernel.

Two small tweaks are made to the implementation:
  1. Return type is changed to bool
  2. Return 'true' when OF_getproplen() == 0. This matches the expected
     semantics of the kernel version, described in OF_hasprop(9).

Reviewed by:    manu, imp, adrian
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D56429

(cherry picked from commit 48a05f833c7d0c089d37522cc234039ec823edf4)
DeltaFile
+7-0stand/libofw/openfirm.c
+0-6stand/powerpc/ofw/ofwfdt.c
+1-0stand/libofw/openfirm.h
+8-63 files