LLVM/project c6afcd0 — llvm/lib/Target/AArch64 AArch64SchedNeoverseV2.td AArch64SchedNeoverseV1.td, llvm/test/tools/llvm-mca/AArch64/Neoverse V2-neon-instructions.s V1-neon-instructions.s

[AArch64][NeoverseV1/V2] Fix FMULX scalar latency (#224540)

The "ASIMD FP multiply" InstRW regex required a "v" suffix, so the
scalar register-register forms FMULX16, FMULX32 and FMULX64 fell back to
a generic class with latency 2.

Measured on Neoverse V1 and V2 hardware with a single dependency chain:
3 cycles, the same as the vector forms and as FMUL, matching the SOG
row.
DeltaFile
+3-3llvm/test/tools/llvm-mca/AArch64/Neoverse/V2-neon-instructions.s
+3-3llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-neon-instructions.s
+1-1llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
+1-1llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
+8-84 files

LLVM/project 4be402e — flang/lib/Optimizer/Transforms O0CanonicalizerPass.cpp, flang/test/Integration cold_array_repacking.f90 array-assignment-entry-debug.f90

[flang] disable cf canonicalization patterns at O0 to preserve line location (#227770)

This patch is a follow up to #202065 and intends to preserve at least one loop
header instructions for each expanded array expressions at O0 so that breakpoint
set on array expression statements that are expanded inline fire once (an not at
each iteration which happens when the only instruction with the statement line
location is in the loop body). CF canonicalization patterns may remove branch
instructions that are the only valid breakpoint position for an array expression
statement from the source.

To solve this, this patch adds a new canonicalization pass that allows skipping
ControlFlow dialect pattern registration at O0.

This replaces #227306 approach that was using a debug pattern filtering
approach instead of using a new pass.

Assisted-by: AI
DeltaFile
+73-49flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
+87-0flang/test/Integration/array-assignment-entry-paths.f90
+62-0flang/lib/Optimizer/Transforms/O0CanonicalizerPass.cpp
+39-0flang/test/Transforms/o0-canonicalize.mlir
+36-0flang/test/Integration/array-assignment-entry-debug.f90
+18-6flang/test/Integration/cold_array_repacking.f90
+315-556 files not shown
+350-5812 files

FreeBSD/ports ca4332a — cad/abc Makefile distinfo

cad/abc: Update g20260911 => g20260925
DeltaFile
+3-3cad/abc/distinfo
+2-2cad/abc/Makefile
+5-52 files

FreeBSD/src fc6ed86 — sys/contrib/openzfs/cmd/zinject translate.c, sys/contrib/openzfs/cmd/zpool zpool_main.c

zfs: cherry-pick from openzfs/master (restore reverted commit)

zpool: Add zpool status -vv error ranges (#17864)

Add necessery change to libzfs/Makefile

(cherry picked from commit e903655c50fe2e710a4cdfe6e638454012ef6324)
DeltaFile
+292-25sys/contrib/openzfs/lib/libzfs/libzfs_pool.c
+186-55sys/contrib/openzfs/cmd/zpool/zpool_main.c
+173-0sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_status/zpool_status_-v.ksh
+75-4sys/contrib/openzfs/cmd/zinject/translate.c
+46-3sys/contrib/openzfs/module/zfs/zfs_znode.c
+23-1sys/contrib/openzfs/module/zfs/zfs_ioctl.c
+795-8812 files not shown
+892-9818 files

FreeBSD/ports d5c5d85 — security/wolfssl pkg-plist

security/wolfssl: fix the plist token
DeltaFile
+1-1security/wolfssl/pkg-plist
+1-11 files

LLVM/project 4d62796 — llvm/include/llvm/IR PatternMatch.h

Use isZero()
DeltaFile
+1-1llvm/include/llvm/IR/PatternMatch.h
+1-11 files

LLVM/project cdcd217 — llvm/include/llvm/IR PatternMatch.h

Remove TODO
DeltaFile
+0-1llvm/include/llvm/IR/PatternMatch.h
+0-11 files

LLVM/project 13b45a1 — llvm/unittests/IR PatternMatch.cpp

Add gtest coverage, matching the existing m_Shuffle cases
DeltaFile
+11-0llvm/unittests/IR/PatternMatch.cpp
+11-01 files

LLVM/project 93849a4 — llvm/include/llvm/IR PatternMatch.h, llvm/lib/Transforms/InstCombine InstructionCombining.cpp

PatternMatch splats from an all-zeroes shufflevector
DeltaFile
+20-5llvm/include/llvm/IR/PatternMatch.h
+1-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+21-62 files

LLVM/project 48c29de — llvm/include/llvm/IR PatternMatch.h, llvm/lib/Transforms/InstCombine InstructionCombining.cpp

[PatternMatch] match splats from an all-zeroes shufflevector (#226190)

Extends from previous constant-only splat matching.
DeltaFile
+19-5llvm/include/llvm/IR/PatternMatch.h
+11-0llvm/unittests/IR/PatternMatch.cpp
+1-1llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+31-63 files

OPNSense/core f770a88 — src/etc/inc filter.lib.inc

Firewall: NAT: Destination NAT - minor cleanup in previous preventing int's causing deprecation warnings in development mode
DeltaFile
+1-1src/etc/inc/filter.lib.inc
+1-11 files

LLVM/project eb7c25d — llvm/lib/Transforms/Scalar ConstraintElimination.cpp

[ConstraintElim] Check top-level GEP flags, object size first (NFC) (#227270)

Collecting the offsets for GEPs can be relatively expensive. First check
the GEP flags of the outer GEP and exit if they are not NUW.

Also look through the outer GEP to get the base pointer, and check size
before collecting offsets.

This saves a small amount of compile-time w/o impacting results:
https://llvm-compile-time-tracker.com/compare.php?from=194c292ff93cf82be3064c94d405b9171d776164&to=423cf820d0c2f1f828d14a7838c9f86af8b9044a&stat=instructions:u

PR: https://github.com/llvm/llvm-project/pull/227270
DeltaFile
+18-12llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+18-121 files

FreeBSD/ports 25e40a3 — security/py-pass-git-helper Makefile distinfo

security/py-pass-git-helper: Update to 5.0.0
DeltaFile
+3-3security/py-pass-git-helper/distinfo
+1-1security/py-pass-git-helper/Makefile
+4-42 files

LLVM/project da95f72 — llvm/lib/Transforms/Scalar LoopIdiomRecognize.cpp, llvm/test/Transforms/LoopIdiom memset-inline-intrinsic.ll

[LoopIdiom] Don't convert `memset.inline` into `memset` (#227650)

Also remove an old and invalid FIXME and reword comments to clarify why we
don't turn inline intrinsics into non-inline versions.

There were 2 places where we check for `memcpy.inline`:

1. `processLoopMemCpy`
2. `processLoopStoreOfLoopLoad`

(1) calls (2). Because (1) didn't properly check for inline intrinsics (2)
needed to check for them as well. With (1) fixed, (2) doesn't need to check. So
the check is made an assertion.

A copy of (1) exists for `memset.inline` as well, in `processLoopMemSet`, but
(2) didn't exist in `processLoopStridedStore`, causing the bug where we convert
a `memset.inline` into `memset`.

Update `processLoopMemSet` checks the same way as (1) and add the same

    [7 lines not shown]
DeltaFile
+62-0llvm/test/Transforms/LoopIdiom/memset-inline-intrinsic.ll
+20-10llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
+82-102 files

FreeBSD/ports b918687 — www/littlefedi distinfo pkg-plist, www/littlefedi/files pkg-message.in littlefedi.in

www/littlefedi: NEW PORT - lightweight community mastodon server

Sponsored by:   SkunkWerks, GmbH
DeltaFile
+99-0www/littlefedi/Makefile
+54-0www/littlefedi/files/littlefedi.in
+43-0www/littlefedi/files/pkg-message.in
+8-0www/littlefedi/pkg-descr
+4-0www/littlefedi/pkg-plist
+3-0www/littlefedi/distinfo
+211-03 files not shown
+214-29 files

OPNSense/core 9da4d85 — src/etc/inc filter.lib.inc

Firewall: NAT: Destination NAT - add safety guards for calculated port ranges, closes https://github.com/opnsense/core/pull/10945

Minor cleanup ensuring proper handling of ranges for empty targets.

Reported by: @fa1k3
DeltaFile
+2-2src/etc/inc/filter.lib.inc
+2-21 files

LLVM/project dba7cf5 — llvm/lib/Transforms/Utils SimplifyLibCalls.cpp, llvm/test/Transforms/InstCombine libcall-fpmath.ll

[SimplifyLibCalls] Preserve !fpmath when replacing libcalls. (#227886)

As pointed out in https://github.com/llvm/llvm-project/pull/227697,
replaceUnaryCall and replaceBinaryCall drop !fpmath.

Transfer it to the created intrinsics.

PR: https://github.com/llvm/llvm-project/pull/227886
DeltaFile
+43-0llvm/test/Transforms/InstCombine/libcall-fpmath.ll
+9-0llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+52-02 files

FreeNAS/freenas 6611ccf — src/middlewared/middlewared/plugins/apps/ix_apps query.py, src/middlewared/middlewared/pytest/unit/plugins/apps test_list_apps.py

Report crash-looping app containers as crashed

## Problem
A container that exits with an error under the catalog's default `unless-stopped` restart policy is reported by Docker as `restarting`, not `exited`. The container state mapping only checked the exit code for `exited`, so the same failure was reported as crashed without a restart policy but as exited with one. A multi-container app with a healthy sibling then showed as Running, and a single-container app showed as Stopped, which hid its workloads and blocked logs, upgrade and rollback.

## Solution
Apply the existing abnormal exit code check to `restarting` containers too, since Docker keeps the last exit code while it waits to restart them. A container restarting after a clean exit is still reported as exited. Added a unit test for the Docker status to container state mapping, which had no coverage.
DeltaFile
+13-1src/middlewared/middlewared/pytest/unit/plugins/apps/test_list_apps.py
+4-1src/middlewared/middlewared/plugins/apps/ix_apps/query.py
+17-22 files

FreeNAS/freenas c6e4f45 — src/middlewared/middlewared/common/license_reconcile __init__.py, src/middlewared/middlewared/plugins/truenas license_reconcile.py

Tie webshare lifecycle to TrueNAS Connect state

## Problem
Webshare's Caddy only picks up its TLS certificates when it starts, but middleware never stopped, started or restarted webshare on any TrueNAS Connect transition. Setting up TNC and webshare, then unsetting TNC left webshare running, and setting TNC up again left it serving zero or stale certificates until someone restarted it by hand. At boot systemd could also start webshare before middleware was ready, so it came up with no certificates at all.

## Solution
Webshare now only runs when the WEBSHARE entitlement is granted and TNC is configured, regardless of product type.

- **Start gate**: `before_start` refuses START and RESTART with a `CallError` explaining why, so a restart or failover restart can't bypass it either.
- **Following TNC**: webshare subscribes to the existing `tn_connect.config` event. When TNC stops being configured (disable or 401 auto-unset) webshare is stopped; when it becomes configured again and webshare is enabled, it is started; a certificate renewal restarts a running webshare. A restart is used rather than a reload because a reload does not make every webshare listener re-read its certificates.
- **Boot**: on `system.ready` (non-HA) a running webshare is restarted so it loads the right certificates.
- **Licence changes**: the license reconcile framework could only render, reload or restart, so it had no way to stop a service that lost its entitlement or start one that regained it. Delegates can now resolve their action at runtime and return START or STOP, and each delegate decides for itself whether that makes sense for its service. Webshare registers a delegate on top of this instead of its own licence hook, using the same decision as its TNC and boot handling.

The persisted enable flag is never touched, so the user's intent survives TNC or the licence going away and webshare comes back by itself once both are in place again.
DeltaFile
+62-1src/middlewared/middlewared/plugins/webshare/utils.py
+22-0src/middlewared/middlewared/plugins/webshare/__init__.py
+16-3src/middlewared/middlewared/plugins/truenas/license_reconcile.py
+16-3src/middlewared/middlewared/common/license_reconcile/__init__.py
+14-0tests/api2/test_webshare_service.py
+9-0src/middlewared/middlewared/plugins/truenas_connect/utils.py
+139-73 files not shown
+152-79 files

LLVM/project c7e8403 — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 branch-cond-split-fcmp.ll

Revert "[AArch64] Add CSEL for canCreateUndefOrPoisonForTargetNode (#226946)" (#227992)

This reverts commit 1e8550c234507ef5b70d508f18b98f9bb0ebc07b due to
buildbot / bootstrap failures not seen in other testing.
DeltaFile
+4-2llvm/test/CodeGen/AArch64/branch-cond-split-fcmp.ll
+0-4llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+4-62 files

LLVM/project bfd7810 — mlir/lib/Conversion/TosaToLinalg TosaToLinalgNamedPass.cpp, mlir/test/Conversion/TosaToLinalg tosa-to-linalg-named-invalid.mlir tosa-to-linalg-pipeline.mlir

[mlir][tosa] Lower AVG_POOL2D_ADAPTIVE to Linalg (#225637)

Register the adaptive average-pool canonicalization with the named
TOSA-to-Linalg conversion and mark the operation illegal so constant
shape operands lower through the established avg_pool2d path.

Add coverage for padding-aware floating-point pooling and quantized
integer pooling with nonzero zero points.

Assited-by: Codex
DeltaFile
+19-0mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
+15-0mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named-invalid.mlir
+1-0mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
+35-03 files

LLVM/project 688b48d — mlir/docs Remarks.md, mlir/include/mlir/IR Remarks.h

[MLIR][Remark] Make remark reporting thread-safe and order final remarks by source position

Passes nested under the multithreaded pass manager report into the same
RemarkEngine from worker threads, but nothing in the engine or the
policies was synchronized. RemarkEmittingPolicyFinal inserted into its
set from several threads at once, and under RemarkEmittingPolicyAll the
streamer, including the LLVM remark serializer, was called from several
threads at once. ThreadSanitizer reports both races in the new unit tests.

RemarkEngine::report() now takes a lock, the same recursive
llvm::sys::SmartMutex the DiagnosticEngine uses. For the All policy the
streamer and the diagnostic printer run under it too, so custom policies
and streamers need no lock of their own. finalize() stays unlocked; it
runs once the pipeline has returned, as mlir-opt and the engine
destructor do.

With the race fixed, the final policy's creation order still depended on
which thread created a remark first. finalize() now sorts root remarks by
source position: the file position the diagnostic printer shows, remarks

    [15 lines not shown]
DeltaFile
+189-8mlir/unittests/IR/RemarkTest.cpp
+42-16mlir/lib/IR/Remarks.cpp
+51-0mlir/test/Pass/remark-final-parallel.mlir
+18-6mlir/include/mlir/IR/Remarks.h
+20-2mlir/docs/Remarks.md
+9-8mlir/test/Pass/remark-final.mlir
+329-406 files

OPNSense/core c310068 — src/etc/inc interfaces.inc, src/opnsense/scripts/interfaces apply_pending_if_changes.php

interfaces: add a new 'updateip' hook

'newwanip' is misused sometimes and never called in static configurations.
The only consumer is the RFC2136 plugin but maybe that changes in the
future.  The plugin also listens on "bootup" and "local" so simply making
a global event for use at the spots where it exists is enough.
DeltaFile
+1-2src/opnsense/scripts/interfaces/apply_pending_if_changes.php
+1-2src/etc/inc/interfaces.inc
+2-42 files

OPNSense/core 57bc18f — src/etc/inc filter.lib.inc, src/opnsense/mvc/app/library/OPNsense/Firewall ForwardRule.php

Firewall: NAT: Destination NAT - add safety guards for calculated port ranges, closes https://github.com/opnsense/core/pull/10945

As normalizedPort() is only used to pass values in nat rules, it's more consistent to replace 'any' with empty as that's what the firewall parser would also do.
Next we need to make sure only numeric values are being used in calculations and the upper bound [65535] is respected in all cases.
DeltaFile
+5-4src/etc/inc/filter.lib.inc
+3-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/ForwardRule.php
+2-0src/opnsense/mvc/tests/app/models/OPNsense/Base/FieldTypes/PortFieldTest.php
+11-54 files

OPNSense/plugins 92215cd — dns/rfc2136 Makefile, dns/rfc2136/src/etc/inc/plugins.inc.d rfc2136.inc

dns/rfc2136: subscribe to "updateip" event

interface_configure() was still calling newwanip:rfc2136 but this meant
it had knowledge about this specifc plugin.  By adding this consumer we
can hide the actual plugins using it and perhaps add updateip to all
relevant code paths as well.  newwanip is only called for dynamic addressing.
DeltaFile
+1-1dns/rfc2136/Makefile
+1-0dns/rfc2136/src/etc/inc/plugins.inc.d/rfc2136.inc
+2-12 files

LLVM/project 95d9c12 — llvm/include/llvm/ADT DenseMap.h

[ADT] Share relocateBucket across DenseMap.h (NFC) (#227970)

This patch moves relocateBucket from SmallDenseMapStorage into namespace
densemap::detail and uses it in DenseMapBase::moveFrom and
DenseMapBase::eraseFromFilledBucket as well.

Assisted-by: Antigravity
DeltaFile
+12-22llvm/include/llvm/ADT/DenseMap.h
+12-221 files

FreeNAS/freenas f8e7aa0 — src/middlewared/middlewared/common/license_reconcile __init__.py, src/middlewared/middlewared/plugins/service __init__.py

Tie webshare lifecycle to TrueNAS Connect state

## Problem
Webshare's Caddy only picks up its TLS certificates when it starts, but middleware never stopped, started or restarted webshare on any TrueNAS Connect transition. Setting up TNC and webshare, then unsetting TNC left webshare running, and setting TNC up again left it serving zero or stale certificates until someone restarted it by hand. At boot systemd could also start webshare before middleware was ready, so it came up with no certificates at all.

## Solution
Webshare now only runs when the WEBSHARE entitlement is granted and TNC is configured, regardless of product type.

- **Start gate**: `before_start` refuses START and RESTART with a `CallError` explaining why, so a restart or failover restart can't bypass it either.
- **Following TNC**: webshare subscribes to the existing `tn_connect.config` event. When TNC stops being configured (disable or 401 auto-unset) webshare is stopped; when it becomes configured again and webshare is enabled, it is started; a certificate renewal restarts a running webshare. A restart is used rather than a reload because a reload does not make every webshare listener re-read its certificates.
- **Boot**: on `system.ready` (non-HA) a running webshare is restarted so it loads the right certificates.
- **Licence changes**: the license reconcile framework could only render, reload or restart, so it had no way to stop a service that lost its entitlement or start one that regained it. Delegates can now resolve their action at runtime and return START or STOP. Those go through a new private `service.converge_verb`, which only starts a service that is stopped, enabled and allowed on this node, and only stops one that is running. Webshare registers a delegate on top of this instead of its own licence hook, and its TNC/boot handling uses the same guard.

The persisted enable flag is never touched, so the user's intent survives TNC or the licence going away and webshare comes back by itself once both are in place again.
DeltaFile
+52-1src/middlewared/middlewared/plugins/webshare/utils.py
+37-0src/middlewared/middlewared/pytest/unit/plugins/service/test_converge_verb.py
+26-3src/middlewared/middlewared/plugins/truenas/license_reconcile.py
+22-0src/middlewared/middlewared/plugins/webshare/__init__.py
+21-0src/middlewared/middlewared/plugins/service/__init__.py
+15-3src/middlewared/middlewared/common/license_reconcile/__init__.py
+173-75 files not shown
+209-711 files

LLVM/project 8995a35 — llvm/lib/CodeGen MachineBasicBlock.cpp, llvm/test/CodeGen/AMDGPU phi-elimination-split-critical-edge-nonoverlapping-subrange.mir

[LLVM] Skip non-overlapping subranges (#227852)

Add guard to skip subranges that not live in the interval.

fix to: https://github.com/llvm/llvm-project/pull/227252

Passed local libc tests:
```
Total Discovered Tests: 814
  Passed: 814 (100.00%)
```

assisted by: cursor
DeltaFile
+43-0llvm/test/CodeGen/AMDGPU/phi-elimination-split-critical-edge-nonoverlapping-subrange.mir
+4-2llvm/lib/CodeGen/MachineBasicBlock.cpp
+47-22 files

LLVM/project 150f9dc — lldb/include/lldb/Target StackFrame.h, lldb/source/Target ThreadPlan.cpp StackFrame.cpp

[lldb] Reject thread until targets outside of an inline frame's function (#227800)

`thread until -f N <line>` rejects a line outside of the function of
frame N.

Before this patch, for an inline frame, it checked the concrete
function, not the inlined function, so it accepted lines of other
inlined functions. The until plan then ignored a hit of such a target,
because it is not in the scope of frame N.

This commit changes GetStepUntilAddresses to only accepts an address if
its innermost inlined function is the one of frame N, as it does for a
regular frame.

As a before/after example, consider this backtrace:

```
  frame #0: 0x00000001000003c0 deep`sink(x=81) at deep.c:4:6 [opt]
  frame #1: 0x0000000100000418 deep`level3(a=48) at deep.c:11:3 [opt] [inlined]

    [10 lines not shown]
DeltaFile
+57-0lldb/test/API/functionalities/inline-frame-pc/TestInlineFrameUntil.py
+30-0lldb/test/API/functionalities/inline-frame-pc/main.c
+15-0lldb/source/Target/StackFrame.cpp
+6-0lldb/include/lldb/Target/StackFrame.h
+1-4lldb/source/Target/ThreadPlan.cpp
+3-0lldb/test/API/functionalities/inline-frame-pc/Makefile
+112-41 files not shown
+113-57 files

LLVM/project 52b2261 — llvm/lib/CodeGen WasmEHPrepare.cpp, llvm/lib/Target/WebAssembly WebAssemblyCFGStackify.cpp WebAssemblyTargetMachine.cpp

Fall back to the TargetOptions exception model

Staging change to keep tests working until the full removal
DeltaFile
+21-9llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+28-0llvm/test/CodeGen/WebAssembly/exception-model.ll
+16-6llvm/lib/CodeGen/WasmEHPrepare.cpp
+9-6llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
+9-6llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+7-3llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
+90-306 files not shown
+126-4012 files