LLVM/project 9927661 — llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp, llvm/test/CodeGen/AMDGPU stacksave_stackrestore.ll

[AMDGPU][GISel] Use the function stack pointer in legalizeStackSave
DeltaFile
+4-4llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
+4-2llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+8-62 files

LLVM/project 96f1f47 — llvm/include/llvm/Object WindowsMachineFlag.h, llvm/lib/Object WindowsMachineFlag.cpp

[llvm][Object] Handle unknown COFF machine types (#240047)

machineToStr() previously used llvm_unreachable() to handle unknown
machine types, which could cause a crash when an unsupported machine
type was encountered. This fix makes function return "unknown" instead,
when handling machine types not supported by this function

AI assisted with investigating the issue, discussing the testing
approach, and reviewing the implementation. I implemented the fix,
adapted existing LLVM tests to add regression coverage and ran the tests
locally
Related to #239535.
DeltaFile
+27-0llvm/unittests/Object/WindowsMachineFlagTest.cpp
+3-3llvm/include/llvm/Object/WindowsMachineFlag.h
+1-2llvm/lib/Object/WindowsMachineFlag.cpp
+1-0llvm/unittests/Object/CMakeLists.txt
+32-54 files

FreeNAS/freenas 08756e1 — src/middlewared/middlewared/alembic/versions/28.0 2026-11-10_12-00_tnc_allowed_origins.py, src/middlewared/middlewared/etc_files/local/nginx nginx.conf.mako

Allow configured origins to read /api/versions for TrueNAS Connect

nginx answered CORS on /api/versions only when the system was registered
with TrueNAS Connect, and only for the TNC web app plus `ng serve` on
dev and staging, recognised from the account service's hostname. A TNC
client run against an unregistered system (an ephemeral TNC stack, local
development, CI) could not read the versions, so @truenas/api-client fell
back to v25.10.0 on systems that serve newer API versions.

* tn_connect gains `allowed_origins`, set with the private
  tn_connect.update_environment. Each entry is normalized to the exact
  Origin header a browser sends; plain http is accepted only for
  localhost, 127.0.0.1 and [::1]. Unlike the endpoints it may change
  while TNC is enabled, and a change reloads nginx.
* /api/versions answers CORS when the system is registered or
  allowed_origins is not empty. /_download still requires registration.
* The origin map uses exact matches built in plugins/truenas_connect/
  cors.py. It was a regex built from tnc_base_url with unescaped dots,
  so https://web.truenasconnect.net also matched look-alike hosts such
  as https://webxtruenasconnect.net.
DeltaFile
+106-0src/middlewared/middlewared/pytest/unit/plugins/test_truenas_connect_cors.py
+87-0src/middlewared/middlewared/pytest/unit/plugins/test_truenas_connect.py
+79-0src/middlewared/middlewared/plugins/truenas_connect/cors.py
+19-7src/middlewared/middlewared/etc_files/local/nginx/nginx.conf.mako
+26-0src/middlewared/middlewared/alembic/versions/28.0/2026-11-10_12-00_tnc_allowed_origins.py
+22-2src/middlewared/middlewared/plugins/truenas_connect/config.py
+339-93 files not shown
+348-99 files

FreeBSD/ports b32f898 — math/blacs Makefile, math/blacs/files Bmake.inc-mpich.diff Bmake.inc-openmpi.diff

math/blacs: use MPI compiler wrappers

Use the compiler wrappers and installation path provided by mpi.mk.

Use MPI-2 communicator conversion for MPICH and OpenMPI.
Merge their identical build configuration patches.

Approved by:    thierry (mentor, implicit)
DeltaFile
+0-93math/blacs/files/Bmake.inc-openmpi.diff
+93-0math/blacs/files/Bmake.inc-mpi.diff
+0-74math/blacs/files/Bmake.inc-mpich.diff
+3-4math/blacs/Makefile
+96-1714 files

LLVM/project add1f8d — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/CodeGenOpenMP non-openmp-code.cpp

[CIR] Return function pointer from `getCallableForCallee` (#237275)

Currently any indirect call will cause an assertion failure if openmp is
enabled together with CIR. This is because one of omp dialect-specific
passes (MarkDeclareTarget) will dyn_cast a pointer returned from
`getCallableForCallee`. The patch follows the same approach as FIR: if
there is no function, return first CallOp argument.
DeltaFile
+4-1clang/include/clang/CIR/Dialect/IR/CIROps.td
+3-0clang/test/CIR/CodeGenOpenMP/non-openmp-code.cpp
+7-12 files

FreeBSD/ports 608a801 — net/freerdp3 pkg-plist Makefile

net/freerdp3: Update 3.33.0 => 3.33.1

Changelog:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.33.1

Security:       GHSA-x863-43r4-f7c2
Security:       GHSA-m33m-4qxh-hq76
Security:       GHSA-52rf-pppx-qm55
Security:       GHSA-3664-pr8r-3254
Security:       GHSA-rp99-f9qv-c446
Security:       GHSA-23fv-6wrf-5hfq
Security:       GHSA-f6v9-vx5q-vjpf
Security:       GHSA-m6hp-4798-x78x
Security:       GHSA-9c9j-2r7q-5gx2
Security:       GHSA-ch3p-5r9r-w86p
Security:       GHSA-76c4-7552-ffhv
Sponsored by:   UNIS Labs
MFH:            2026Q4

(cherry picked from commit cde4c1a23ee335cc87cb1f90872947d93abd34ce)
DeltaFile
+3-3net/freerdp3/distinfo
+1-1net/freerdp3/Makefile
+1-0net/freerdp3/pkg-plist
+5-43 files

FreeBSD/ports cde4c1a — net/freerdp3 pkg-plist Makefile

net/freerdp3: Update 3.33.0 => 3.33.1

Changelog:
https://github.com/FreeRDP/FreeRDP/releases/tag/3.33.1

Security:       GHSA-x863-43r4-f7c2
Security:       GHSA-m33m-4qxh-hq76
Security:       GHSA-52rf-pppx-qm55
Security:       GHSA-3664-pr8r-3254
Security:       GHSA-rp99-f9qv-c446
Security:       GHSA-23fv-6wrf-5hfq
Security:       GHSA-f6v9-vx5q-vjpf
Security:       GHSA-m6hp-4798-x78x
Security:       GHSA-9c9j-2r7q-5gx2
Security:       GHSA-ch3p-5r9r-w86p
Security:       GHSA-76c4-7552-ffhv
Sponsored by:   UNIS Labs
MFH:            2026Q4
DeltaFile
+3-3net/freerdp3/distinfo
+1-1net/freerdp3/Makefile
+1-0net/freerdp3/pkg-plist
+5-43 files

LLVM/project 2f9e75d — llvm/lib/CodeGen ImplicitNullChecks.cpp, llvm/test/CodeGen/X86 implicit-null-check-pseudo-probe.ll implicit-null-check-pseudo-probe.mir

[CodeGen] Skip pseudo probes in the ImplicitNullChecks scan (#240239)

Implicit null checks (`-enable-implicit-null-checks`, used by frontends
that lower nil checks to a `SIGSEGV` handler) are silently disabled when
pseudo probes are enabled.

`PSEUDO_PROBE` is marked as having side effects so that it is not
dropped, so `canHandle()` rejects it and `analyzeBlockForNullChecks()`
gives up on the whole non-null successor. Probes start every
instrumented block, so `-fpseudo-probe-for-profiling` together with
`-enable-implicit-null-checks` loses the optimization for essentially
every candidate.

Skip debug instructions and pseudo probes while scanning the successor;
neither is the faulting operation nor counts against
`MaxInstsToConsider`. The probes stay in their block, and only the
faulting load is hoisted into the predecessor, so samples on that load
are attributed to the predecessor's probe.


    [17 lines not shown]
DeltaFile
+58-0llvm/test/CodeGen/X86/implicit-null-check-pseudo-probe.mir
+28-0llvm/test/CodeGen/X86/implicit-null-check-pseudo-probe.ll
+6-2llvm/lib/CodeGen/ImplicitNullChecks.cpp
+92-23 files

LLVM/project 38fe7d4 — llvm/test/CodeGen/X86 dpbusd.ll

[X86] Add test coverage for #240667 (#240794)
DeltaFile
+41-0llvm/test/CodeGen/X86/dpbusd.ll
+41-01 files

LLVM/project 0547817 — mlir/include/mlir/Dialect/ArmNeon ArmNeon.td, mlir/test/Dialect/ArmNeon invalid.mlir

[mlir][ArmNeon][NFC] Replace `NeonVectorOfLength` with common constraints (#239225)

Replace the custom `NeonVectorOfLength` type constraint with
`VectorOfLengthAndType` and `FixedVectorOfRankAndLengthAndType` from
`CommonTypeConstraints.td`.

This is a step towards unifying the `ArmNeon` and `ArmSVE` dialects.
More work will be required, but I am deliberately implementing it in
small, incremental steps to simplify the review process.
DeltaFile
+26-36mlir/include/mlir/Dialect/ArmNeon/ArmNeon.td
+14-14mlir/test/Dialect/ArmNeon/invalid.mlir
+40-502 files

FreeNAS/freenas de0960a — tests/sharing_protocols/smb test_smb_ha.py

`pytest.skip` ban follow-up
DeltaFile
+3-7tests/sharing_protocols/smb/test_smb_ha.py
+3-71 files

HardenedBSD/src 354b908 — contrib/llvm-project/llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, sys/compat/freebsd32 freebsd32_sysent.c freebsd32_proto.h

Merge branch 'freebsd/current/main' into hardened/current/master
DeltaFile
+25-7contrib/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+6-0sys/sys/sysproto.h
+6-0sys/kern/init_sysent.c
+6-0sys/compat/freebsd32/freebsd32_sysent.c
+6-0sys/compat/freebsd32/freebsd32_proto.h
+1-0sys/tools/syscalls/config.lua
+50-71 files not shown
+51-77 files

OpenBSD/ports rlX1amp — www/iridium Makefile distinfo

   update to 2026.11.157.1
VersionDeltaFile
1.138+2-2www/iridium/distinfo
1.306+1-1www/iridium/Makefile
+3-32 files

LLVM/project 3f4a3d6 — libc/src/__support common.h

[libc] Fix LLVM_LIBC_ADD_FUNCTION_C_ALIAS lint namespace error (#240751)

When LIBC_COPT_PUBLIC_PACKAGING is disabled, as in internal object
targets linted by libc-lint, LLVM_LIBC_ADD_FUNCTION_C_ALIAS expanded to
static_assert(true, "Require semicolon."). Because callers place this
macro at translation-unit scope outside LIBC_NAMESPACE_DECL,
llvmlibc-implementation-in-namespace rejected the static_assert
declaration in libc/src/errno/libc_errno.cpp and the scanf sources.

Replace that stub with an extern "C" type alias referring to
LIBC_NAMESPACE::name. ImplementationInNamespaceCheck already exempts
extern "C" linkage specifications at file scope, the semicolon
requirement is preserved, and the referenced internal symbol is still
verified at compile time.

Assisted-by: Automated tooling, human reviewed.
DeltaFile
+4-1libc/src/__support/common.h
+4-11 files

LLVM/project 68bd0e1 — llvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 build-vector-extract.ll aarch64-neon-vector-insert-uaddlv.ll

[AArch64][DAG] Improve codegen for clearing upper vector lanes (#237259)

Add patterns to use FMOV to implicitly clear the upper lanes of a vector
while preserving lane 0

Will fix this open
[issue](https://github.com/llvm/llvm-project/issues/228317) upon the
stack being merged
DeltaFile
+644-665llvm/test/CodeGen/AArch64/neon-dotreduce.ll
+427-59llvm/test/CodeGen/AArch64/shuffle-insert-zero.ll
+69-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+13-17llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
+1-3llvm/test/CodeGen/AArch64/build-vector-extract.ll
+1,154-7445 files

LLVM/project d08668f — clang/test/CodeGen/RISCV rvp-intrinsics.c, llvm/lib/Target/RISCV RISCVISelLowering.cpp

[InstCombine] Canonicalise Zero Vector operand to always be RHS of a shuffle vector (#237258)

shuffle zero, x, mask --> shuffle x, zero, mask'

Canonicalize ZeroVector of a shuffle to always be the RHS operand.
The motivation can be viewed in the next PR where the zero vector on the
RHS results in the same DAG, allowing for less patterns required for
instruction selection

Some riscv intrinsic test failed. This was due to the intrinsics
emitting shuffle vectors with a zero operand.

One of the intrinsics (ppaire) were not lowering correctly due to the
change. The reason being is that a function that checks whether we lower
to the intrinsic was dependent on whether the zero was a LHS operand or
RHS operand.

I modified this so that it checks both operand orders (via commuting the
mask). The function is only used for this one intrinsic so I am not
expecting any more regressions from this
DeltaFile
+39-1llvm/test/Transforms/InstCombine/vec_shuffle.ll
+10-10clang/test/CodeGen/RISCV/rvp-intrinsics.c
+6-6llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
+10-2llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
+2-2llvm/test/Transforms/InstCombine/insert-extract-shuffle-inseltpoison.ll
+3-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+70-224 files not shown
+74-2610 files

HardenedBSD/ports e5e025b — japanese/fcitx5-karukan Makefile.crates distinfo, japanese/fcitx5-karukan/files patch-cargo-crates_llama-cpp-sys-2-0.1.158_build.rs

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+2,195-0www/rustfs/distinfo
+1,095-0www/rustfs/Makefile.crates
+175-151japanese/fcitx5-karukan/distinfo
+86-74japanese/fcitx5-karukan/Makefile.crates
+81-0www/rustfs/files/rustfs.in
+0-78japanese/fcitx5-karukan/files/patch-cargo-crates_llama-cpp-sys-2-0.1.158_build.rs
+3,632-30373 files not shown
+4,183-61679 files

LLVM/project 6039125 — llvm/lib/Target/X86 X86ISelLowering.cpp X86InstrSSE.td, llvm/test/CodeGen/X86 bfloat-broadcast.ll

[X86] Add missing v8bf16/v16bf16 VPBROADCASTW patterns without AVX512BW+VLX

X86ISD::VBROADCAST of a v8bf16 register only had isel patterns for
[HasBWI, HasVLX] (VPBROADCASTWZ128rr). On AVX2 targets without
AVX512BW+VLX, a splat of a bf16 vector that is live across basic blocks
fails with:

  LLVM ERROR: Cannot select: v8bf16 = X86ISD::VBROADCAST (v8bf16 CopyFromReg ...)

The splat itself is lowered as a v8i16 shuffle, but combineTargetShuffle
then turns VBROADCAST(bitcast(x)) into bitcast(VBROADCAST(x)), which
creates the v8bf16 node.

This has been latent since AVX-NE-CONVERT made v8bf16 a legal type (it
already fails with -mcpu=sierraforest in LLVM 18). #230953 and #221225
made v8bf16 legal with AVX512BW and with plain AVX respectively, so it
now fails on every AVX2 target without AVX512BW+VLX, including common
AMD Zen 2/Zen 3 (-mcpu=znver2/znver3) hosts.


    [10 lines not shown]
DeltaFile
+86-39llvm/test/CodeGen/X86/bfloat-broadcast.ll
+11-0llvm/lib/Target/X86/X86InstrSSE.td
+7-2llvm/lib/Target/X86/X86ISelLowering.cpp
+104-413 files

LLVM/project f5c07ce — llvm/test/CodeGen/X86 bfloat-broadcast.ll

[X86] Add bf16 broadcast tests (NFC)

Add tests for bf16 vector splats that end up as X86ISD::VBROADCAST or
X86ISD::VBROADCAST_LOAD:
- values live across basic blocks
- volatile loads
- loads whose other uses are simplified away after legalization
- broadcasts of v8bf16 values that are bitcast to vXi16/vXi32

Only -mattr=+avx512bw,+avx512vl is tested in this commit. Targets without
AVX512BW+VLX crash on all of these tests; the follow-up commit fixes that.

Assisted-by: Antigravity
DeltaFile
+166-0llvm/test/CodeGen/X86/bfloat-broadcast.ll
+166-01 files

FreeNAS/freenas 0bef1ac — src/middlewared/middlewared/test/integration/assets pool.py, tests/api2 test_audit_system.py test_draid_record_and_block_size.py

NAS-145125 / 28.0.0-BETA.1 / Ban `pytest.skip` (#20151)
DeltaFile
+10-27tests/api2/test_zfs_resource_create.py
+4-19tests/api2/zfs_tier/test_config.py
+23-0src/middlewared/middlewared/test/integration/assets/pool.py
+5-16tests/api2/test_draid_record_and_block_size.py
+20-0tests/api2/zfs_tier/test_config_nonenterprise.py
+5-14tests/api2/test_audit_system.py
+67-7619 files not shown
+123-13225 files

LLVM/project 7efed70 — flang/test/Lower/OpenACC/Todo do-loops-to-acc-loops-todo.f90

[flang][OpenACC] Test unstructured seq loops that stay TODO in kernels

Cover the unstructured `acc loop seq` shapes in kernels that still hit
the "unstructured do loop in acc kernels" TODO on the seq loop's own
DO: a seq loop inside an unstructured IF, SELECT CASE, BLOCK or DO
WHILE, a loop that is seq only for a non-default device_type, and auto
loops. Each case checks its pre-FIR tree, and every TODO check in the
file now names the line of the loop it fires on, using split-file
--leading-lines.
DeltaFile
+289-6flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
+289-61 files

LLVM/project b33e266 — flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-kernels-unstructured-seq-loop.f90

[flang][OpenACC] Lower unstructured seq loops directly in kernels

An `acc loop seq` with an early exit directly in a kernels region still
hit the "unstructured do loop in acc kernels" TODO, because the kernels
construct around it stays unstructured. Its control flow stays in the
acc.kernels region, its acc.loop privatizes its induction variables,
and no parallel loop runs it on more than one thread, so lower it like
a structured seq loop in kernels.
DeltaFile
+112-7flang/test/Lower/OpenACC/acc-kernels-unstructured-seq-loop.f90
+0-39flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
+32-7flang/lib/Lower/OpenACC.cpp
+144-533 files

LLVM/project 064aae0 — flang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-kernels-unstructured-seq-loop.f90

[flang][OpenACC] Privatize nested DO variables of unstructured seq loops

A DO nested in the body of an unstructured `acc loop seq` that the
directive does not own has no acc.loop of its own when it is
unstructured, so nothing privatized its induction variable and it hit
the "unstructured do loop in acc kernels" TODO. It runs on the thread
executing the seq loop, and its induction variable is predetermined
private to that thread, so privatize it on the seq loop's acc.loop.

Factor the check for the default device_type in a list of device_type
attributes into a helper, used here and by the two existing copies.
DeltaFile
+160-1flang/test/Lower/OpenACC/acc-kernels-unstructured-seq-loop.f90
+0-105flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
+80-20flang/lib/Lower/OpenACC.cpp
+240-1263 files

LLVM/project 06e12cf — clang/lib/CIR/Dialect/Transforms CIRABIClassifier.cpp, clang/test/CIR/Transforms/abi-lowering amdgpu-complex.cir

[CIR] Flatten wide _Complex arguments in CallConvLowering
DeltaFile
+135-0clang/test/CIR/Transforms/abi-lowering/amdgpu-complex.cir
+12-0clang/lib/CIR/Dialect/Transforms/CIRABIClassifier.cpp
+147-02 files

OPNSense/src 68b64bb — sys/net pfil.c

pfil: Avoid potential mbuf tag leak

In '398254f9999e mbuf: simplify m_free' we removed tag processing
on m_free() of M_NOFREE mbufs. It is possible that a packet filter
could attach a tag to this stack mbuf and call m_free()
on it, meaning that 398254f9999e may have introduced a tag leak.

However,if a tag is attached without anyone calling m_free(), then
this leak was pre-existing.

Reviewed by: glebius
Differential Revision: https://reviews.freebsd.org/D60686
Fixes: 398254f9999e
Sponsored by: Netflix

(cherry picked from commit f4ff995e361fa72cea240c4dbac2d0931965c80f)
DeltaFile
+2-0sys/net/pfil.c
+2-01 files

OPNSense/src 717cbf3 — sys/netinet igmp.c

igmp: Refresh the ip header pointer after m_pullup()

There is a chance that the m_pullup() call immediately above invalidated
the "ip" pointer, so refresh it as we do with the IGMP header.
Otherwise the test in igmp_input_v3_query() for whether the packet is an
IGMPv3 general query might use a pointer to a freed mbuf.

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit dc47a6940d60d393b3d36ba0fc5cb84d06fafaea)
DeltaFile
+1-0sys/netinet/igmp.c
+1-01 files

OPNSense/src 6738896 — sys/netinet igmp.c

igmp: Deindent some code

No functional change intended.

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 123342f3d2cccf432d3d0082097b6c97397ecc67)
DeltaFile
+32-33sys/netinet/igmp.c
+32-331 files

FreeBSD/ports dc4d31d — benchmarks/imb Makefile distinfo

benchmarks/imb: Update to 2021.12

Changes: https://github.com/intel/mpi-benchmarks/releases/tag/IMB-v2021.12

Approved by:    thierry (mentor, implicit)
DeltaFile
+3-3benchmarks/imb/distinfo
+1-2benchmarks/imb/Makefile
+4-52 files

HardenedBSD/ports dc4d31d — benchmarks/imb Makefile distinfo

benchmarks/imb: Update to 2021.12

Changes: https://github.com/intel/mpi-benchmarks/releases/tag/IMB-v2021.12

Approved by:    thierry (mentor, implicit)
DeltaFile
+3-3benchmarks/imb/distinfo
+1-2benchmarks/imb/Makefile
+4-52 files

OPNSense/src cf3f8e3 — sys/netinet ip_carp.c, tests/sys/netinet carp.sh

carp: fix global demotion counter to VRRP advertisements

When net.inet.carp.preempt=1 and a physical interface goes down, the global
V_carp_demotion counter is incremented. For CARP this was already reflected in
outgoing advertisements via DEMOTE_ADVSKEW(), but VRRP sent the raw
sc_vrrp_prio unchanged, so demotion had no effect.

Add DEMOTE_VRRP_PRIO(), a macro analogous to DEMOTE_ADVSKEW():
It subtracts V_carp_demotion from the configured priority and clamps the result
to [0, 254]. Priority 0 is VRRPv3's "resign" signal and causes backups to
preempt immediately. Priority 255 (IP address owner) is never demoted.

Reviewed by:    kp
Approved by:    kp
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D55558

(cherry picked from commit 9f71153aec0cb455cd49af6d4ca7e4c16fd45d7a)
DeltaFile
+61-0tests/sys/netinet/carp.sh
+14-3sys/netinet/ip_carp.c
+75-32 files