FreeBSD/ports 0bb4cd4java/jextract pkg-plist distinfo, java/jextract/files jextract.in patch-build.gradle

java/jextract: new port

jextract is a tool which mechanically generates Java bindings from
native library headers.  This tools leverages the clang C API in order
to parse the headers associated with a given native library, and the
generated Java bindings build upon the Foreign Function & Memory API.

Co-authored-by: Michael Osipov <michaelo at FreeBSD.org>
PR:             285159
DeltaFile
+43-0java/jextract/Makefile
+10-0java/jextract/files/patch-build.gradle
+6-0java/jextract/files/jextract.in
+4-0java/jextract/pkg-descr
+3-0java/jextract/distinfo
+2-0java/jextract/pkg-plist
+68-01 files not shown
+69-07 files

LLVM/project e94698bllvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp, llvm/test/CodeGen/AMDGPU llc-pipeline-npm.ll

[AMDGPU][GISel][NPM] Complete Global ISel pipeline (#222552)
DeltaFile
+979-476llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
+46-0llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+1,025-4762 files

FreeBSD/ports f7ee795security/kuku pkg-plist distinfo

security/kuku: update 3.0.0 → 4.0.0
DeltaFile
+7-5security/kuku/Makefile
+3-3security/kuku/distinfo
+2-3security/kuku/pkg-plist
+12-113 files

FreeBSD/ports 55cf649misc/snakemake distinfo Makefile, misc/snakemake/files patch-pyproject.toml

misc/snakemake: update 9.20.0 → 9.27.0
DeltaFile
+10-5misc/snakemake/Makefile
+10-3misc/snakemake/files/patch-pyproject.toml
+3-3misc/snakemake/distinfo
+23-113 files

FreeBSD/ports 7544769devel/ruby-build Makefile distinfo

devel/ruby-build: Update to 20260916

Changes:        https://github.com/rbenv/ruby-build/releases/tag/v20260916
Changes:        https://github.com/rbenv/ruby-build/releases/tag/v20260915
(cherry picked from commit 92922b10d52271305cb8c8c91ed9ebb931377525)
DeltaFile
+3-3devel/ruby-build/distinfo
+1-1devel/ruby-build/Makefile
+4-42 files

FreeBSD/ports 92922b1devel/ruby-build Makefile distinfo

devel/ruby-build: Update to 20260916

Changes:        https://github.com/rbenv/ruby-build/releases/tag/v20260916
Changes:        https://github.com/rbenv/ruby-build/releases/tag/v20260915
DeltaFile
+3-3devel/ruby-build/distinfo
+1-1devel/ruby-build/Makefile
+4-42 files

LLVM/project dc795bdllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Remove (X && Y) | (X && !Y) -> X combine. NFC

We have smaller combines that can take care of this now that we process recipes in a worklist
DeltaFile
+1-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-81 files

LLVM/project d67f8e1llvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll

Precommit test
DeltaFile
+163-0llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+163-01 files

LLVM/project 47a3ff3llvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll

[VPlan] Append recipes created via builder to worklist

The previous PR appended the top most created recipe to the worklist, and this PR extends it to any other nested recipes that were created, similar to InstCombine.

This removes the header mask in a good few more places on RISC-V as measured on SPEC CPU 2017, e.g. for the following loop:

```c
long f(const int *p, const int *q, long n) {
  long a = 0, b = 0;
  for (long i = 0;; i++) {
    if (p[i] && q[i]) { a += i; b += i; }
    if (i + 1 == n) break;
  }
  return a + b;
}
```

Before:


    [49 lines not shown]
DeltaFile
+26-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-4llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+5-7llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+42-193 files

LLVM/project 05da97dllvm/lib/Target/AArch64 AArch64TargetMachine.cpp

AArch64: Avoid createDataLayout just to check endianness

The endianness can be checked from the triple, avoiding a datalayout
copy.
DeltaFile
+2-2llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+2-21 files

LLVM/project 3973230llvm/lib/CodeGen InterleavedLoadCombinePass.cpp, llvm/test/CodeGen/AArch64 interleaved-load-combine-crossblock.ll

[InterleavedLoadCombine] Do not combine loads across basic blocks (#223915)

This pass turns a group of interleaved loads into a single wide load
inserted at the first load. That is only valid when all of the loads are
in the same basic block. Otherwise the wide load can read memory that
the original program only accessed on a conditional path.

The offset index keyed candidates on base pointer, type and offset only,
so it could pair loads from different blocks. Restrict each block's
matching to candidates whose loads are in that block. This also keeps
the candidate list and index per block, so they stay small.

Fixes a miscompile introduced by #213053.
DeltaFile
+50-0llvm/test/CodeGen/AArch64/interleaved-load-combine-crossblock.ll
+17-9llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
+67-92 files

LLVM/project 4beeff3clang/lib/CodeGen CodeGenModule.cpp, clang/test/CodeGen/LoongArch target-abi-module-flag.c

[clang][LoongArch] Emit "target-abi" module flag (#223647)

The LoongArch backend reads the ABI from the "target-abi" module flag,
but clang only emits that flag for ARM, PowerPC and RISC-V. Since LTO code
generation doesn't see the -target-abi option passed to clang, it falls
back to the default ABI of the target, which is lp64d for
loongarch64-unknown-elf, regardless of the ABI the code was compiled for.

When an FPU is enabled, this silently miscompiles code built for another
ABI. For example, with -mabi=lp64s, functions get the lp64d calling
convention after LTO, passing and returning floating-point values in FP registers 
instead of general-purpose ones, and the output is marked as double-float. Nothing
reports this if every object goes through LTO. For instance, a shared library
built this way links without error, and so does lp64s code built without LTO that
uses it. Without an FPU, the generated code keeps the soft-float calling
convention, but the output is still marked as double-float.

The mismatch only shows up as an error when LTO output is linked
together with relocatable objects built without LTO, which LLD rejects with "cannot

    [15 lines not shown]
DeltaFile
+21-0clang/test/CodeGen/LoongArch/target-abi-module-flag.c
+4-5clang/lib/CodeGen/CodeGenModule.cpp
+25-52 files

LLVM/project 21a77e7llvm/test/CodeGen/AArch64 sve-bf16-converts.ll sve-bf16-reductions.ll

[LLVM][CodeGen][SME] Don't use non-streaming zeroing instruction when in streaming mode. (#222353)

When selecting scalable vector bf16-f32 converts we emit zip(0,vec).
Unfortunately, the typical zero-latency zeroing instruction is not
available when in streaming mode.

(cherry picked from commit 9679fbfea993cb2e815fe0fa5eefde310f917349)
DeltaFile
+538-260llvm/test/CodeGen/AArch64/sve-bf16-compares.ll
+265-130llvm/test/CodeGen/AArch64/sve-bf16-arith.ll
+177-86llvm/test/CodeGen/AArch64/sve-bf16-rounding.ll
+176-84llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
+105-50llvm/test/CodeGen/AArch64/sve-bf16-reductions.ll
+25-9llvm/test/CodeGen/AArch64/sve-bf16-converts.ll
+1,286-6191 files not shown
+1,297-6217 files

LLVM/project 3c3c37ecompiler-rt/lib/interception interception_win.cpp, compiler-rt/lib/interception/tests interception_win_test.cpp

[win/asan] GetInstructionSize: Add some more instructions. (#219038)

These got reported in #96270.

- Allow "0F B6 44 24 XX : movzx eax, byte ptr [esp + XX]" for x86 and
x86_64.
- Add "0F B6 4C 24 XX : movzx ecx, byte ptr [esp + XX]"
- Add "4F 8D 0C XX : lea r9, [...]"
- Add "66 83 3A XX : cmp word ptr [rdx], XX"
- Add "85 D2 : test edx, edx"
- Add "8D 44 24 XX : lea eax, [esp + XX]"
- Add "F3 0F 1E FA : endbr64"
- Add "F3 0F 1E FB : endbr32"

(cherry picked from commit 7fd0dd89cf63bd363b7884232202fa958ccc974a)
DeltaFile
+9-5compiler-rt/lib/interception/interception_win.cpp
+8-1compiler-rt/lib/interception/tests/interception_win_test.cpp
+17-62 files

LLVM/project 5a0c86allvm/test/CodeGen/AMDGPU/GlobalISel and-vgpr-s32.ll regbankselect-sext.mir

[AMDGPU] Fix GlobalISel VGPR-to-VCC lowering types (#220987)

Register-bank legalization synthesized an untyped G_AND s32, but
instruction-selection patterns only matched typed G_AND i32, causing:

```
LLVM ERROR: cannot select: %:vgpr_32(s32) = G_AND ...
```

The source-level and i32 was valid; the incorrect type was introduced by
AMDGPU `VgprToVccCopy` lowering. SelectionDAG was unaffected because it
retained typed DAG nodes.

Assisted-by: Codex

---------

Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
DeltaFile
+21-19llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-and-s1.mir
+17-17llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-zext.mir
+16-16llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-brcond.mir
+16-16llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir
+15-15llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-sext.mir
+28-0llvm/test/CodeGen/AMDGPU/GlobalISel/and-vgpr-s32.ll
+113-8313 files not shown
+186-15019 files

LLVM/project f7cc8c8llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen SlotIndexes.cpp

AMDGPU: Maintain LiveIntervals when removing blocks in SILowerControlFlow (#223642)

removeMBBifRedundant removed a redundant block's instructions from the
LiveIntervals maps but not the block itself, leaving a stale idx2MBBMap
entry that crashed getMBBFromIndex in the verifier.

Add SlotIndexes::removeMBBFromMaps to drop the erased block's slot
range, and recompute the intervals that spanned it.

Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>
DeltaFile
+95-0llvm/test/CodeGen/AMDGPU/si-lower-control-flow-remove-redundant-block-liveintervals.mir
+23-0llvm/lib/CodeGen/SlotIndexes.cpp
+16-0llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
+5-0llvm/include/llvm/CodeGen/SlotIndexes.h
+139-04 files

LLVM/project 2ab3288llvm/test/tools/llubi intr_experimental_vector.ll, llvm/tools/llubi/lib Interpreter.cpp

Update llubi
DeltaFile
+4-2llvm/tools/llubi/lib/Interpreter.cpp
+1-1llvm/test/tools/llubi/intr_experimental_vector.ll
+5-32 files

OPNSense/core 6e3cda3src/opnsense/www/js opnsense_bootgrid.js

bootgrid: only schedule dimension changes after data processing, window resizing and table visibility changes

The height recalculation scheduled on renderComplete was too aggressive,
since Tabulator emits that event while virtual rows are rendered during scrolling.
Also prevent setHeight() from running mid-scroll at all times.

This commit fixes the visual glitch of resetting scroll positions introduced
by https://github.com/opnsense/core/commit/050f3c8277
DeltaFile
+30-14src/opnsense/www/js/opnsense_bootgrid.js
+30-141 files

LLVM/project d03ed6dllvm/test/tools/llubi intr_experimental_vector.ll

Precommit llubi test
DeltaFile
+2-0llvm/test/tools/llubi/intr_experimental_vector.ll
+2-01 files

FreeNAS/freenas 56f1e25src/middlewared/middlewared/pytest/unit/alert test_applicability_engine.py, src/middlewared/middlewared/pytest/unit/plugins test_failover.py

NAS-143780 / 26.0.0 / Model HA as a license feature instead of a license type (#19732)

This commit adds changes to follow upstream collapsing enterprise_single
and enterprise_ha into a single enterprise type, with HA moving into the
features dict as its own key. The HA entitlement becomes an ordinary
matrix vector keyed on that feature, so LicenseTypeRule has nothing left
to decide and goes away with it.

Legacy blobs predate the feature vocabulary, so the shim injects the HA
key when the blob names a second controller serial. That is the same
condition which used to pick the enterprise_ha type, which is what keeps
every fielded legacy pair licensed for failover.

(cherry picked from commit 0a5a6e5fbb94007206df82a2916f8b043d7675ac)
DeltaFile
+22-16src/middlewared/middlewared/pytest/unit/utils/test_entitlements.py
+34-3src/middlewared/middlewared/pytest/unit/utils/test_license_legacy_utils.py
+3-25src/middlewared/middlewared/utils/entitlements/engine.py
+12-8src/middlewared/middlewared/pytest/unit/plugins/test_failover.py
+2-13src/middlewared/middlewared/utils/entitlements/policy.py
+7-8src/middlewared/middlewared/pytest/unit/alert/test_applicability_engine.py
+80-7318 files not shown
+118-12024 files

LLVM/project 10c3714llvm/lib/Target/RISCV RISCVInstrInfo.h

[RISCV] Do not verify size for some Xqci instructions (#223913)

After instruction size verification was enabled by default in
https://github.com/llvm/llvm-project/pull/221687/ we were running into
crashes for certain 48-bit Xqci instructions. This was happening because
we have compress patterns for these 48-bit instructions to compress them
into 32-bit instructions which `getInstSizeInBytes` was not taking into
account.

The crash looks like:

```
Size mismatch for: QC_E_SW $x0, $x14, 0 :: (store (s32) into %stack.0)
Expected maximum size: 2
Actual size: 4
```

Do not verify size for such instructions until we can return the correct
size for them.
DeltaFile
+37-0llvm/lib/Target/RISCV/RISCVInstrInfo.h
+37-01 files

OpenBSD/src 8fPdL1Kusr.bin/ssh sshd.c ssh.c

   spelling; ok deraadt@
VersionDeltaFile
1.408+3-3usr.bin/ssh/sshd_config.5
1.431+3-3usr.bin/ssh/ssh_config.5
1.170+3-3usr.bin/ssh/channels.h
1.635+2-2usr.bin/ssh/sshd.c
1.640+2-2usr.bin/ssh/ssh.c
1.114+2-2usr.bin/ssh/mux.c
+15-153 files not shown
+21-219 files

LLVM/project 6e180eallvm/lib/Target/AMDGPU SIOptimizeVGPRLiveRange.cpp, llvm/test/CodeGen/AMDGPU si-opt-vgpr-liverange-bug-deadlanes.mir opt-vgpr-live-range-verifier-error.mir

AMDGPU: Use LiveIntervals in SIOptimizeVGPRLiveRange when available (#222385)

LiveVariables has been long deprecated. Use LiveIntervals if available.
With the current pass structure, this will use LiveVariables.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+106-49llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
+2-0llvm/test/CodeGen/AMDGPU/si-opt-vgpr-liverange-bug-deadlanes.mir
+2-0llvm/test/CodeGen/AMDGPU/opt-vgpr-live-range-verifier-error.mir
+110-493 files

LLVM/project dd58c11llvm/include/llvm/IR DebugInfoMetadata.h DebugInfo.h, llvm/lib/IR LLVMContextImpl.h Verifier.cpp

[IR] Simplify DIAssignID by storing its links in the node. NFC (#223324)

AssignmentTrackingPass generates DIAssignID metadata. A DIAssignID links
the instructions it is attached to, kept in
LLVMContextImpl::AssignmentIDToInstrs, with the dbg_assign records that
refer to it, found through a permanent use list (#78300 made DIAssignID
the only always-replaceable MDNode for this). Keep both lists in the
node as TinyPtrVector members instead (98% of instruction lists and
88-96% of record lists hold exactly one pointer), and drop the map and
`isAlwaysReplaceable()`.

Aided by Opus 5
DeltaFile
+22-40llvm/lib/IR/Metadata.cpp
+3-13llvm/lib/IR/DebugInfo.cpp
+11-4llvm/include/llvm/IR/DebugInfo.h
+10-3llvm/include/llvm/IR/DebugInfoMetadata.h
+3-5llvm/lib/IR/Verifier.cpp
+0-5llvm/lib/IR/LLVMContextImpl.h
+49-703 files not shown
+55-759 files

LLVM/project 76bb77ellvm/lib/Target/RISCV RISCVISelLowering.h, llvm/test/CodeGen/RISCV/rvv pr83017.ll pr90559.ll

[RISCV] Merge zeroing stores into wider LMUL vector stores (#223908)

memset lowers to LMUL1 vector stores (v2i64 for e64) that we rely on
store merging to widen. `storeOfVectorConstantIsCheap` counted the
number of MemVT-sized stores, so a v2i64 MemVT needed 4 stores before
merging kicked in, leaving two VL=2 m1 stores for a 32B zero region.

Use the total element count for zeroing stores so two v2i64 stores
merge into one VL=4 e64 m2 store.

Partially fixes #223906

Assisted-by: TRAE CLI (Opus 4.8)
DeltaFile
+16-34llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
+12-2llvm/lib/Target/RISCV/RISCVISelLowering.h
+4-6llvm/test/CodeGen/RISCV/rvv/pr90559.ll
+3-5llvm/test/CodeGen/RISCV/rvv/pr83017.ll
+35-474 files

LLVM/project 8d6f414llvm/lib/Target/AArch64 SVEShuffleOpts.cpp

AArch64: Avoid depending on createDataLayout in a pass (#223776)

This should read directly from the context IR's module.
DeltaFile
+7-6llvm/lib/Target/AArch64/SVEShuffleOpts.cpp
+7-61 files

LLVM/project 3b42a54llvm/test/CodeGen/AArch64 misched-postra-only1.mir

[MISched] Remove verify-machineinstrs from test(NFC) (#223679)
DeltaFile
+6-6llvm/test/CodeGen/AArch64/misched-postra-only1.mir
+6-61 files

FreeBSD/ports af1406ctextproc/py-textual-textarea Makefile distinfo

textproc/py-textual-textarea: Update to 0.18.4

ChangeLog:

1. https://github.com/tconbeer/textual-textarea/releases/tag/v0.18.3
2. https://github.com/tconbeer/textual-textarea/releases/tag/v0.18.4

Reported by:    "github-actions[bot]" <notifications at github.com>
DeltaFile
+3-3textproc/py-textual-textarea/distinfo
+1-1textproc/py-textual-textarea/Makefile
+4-42 files

FreeBSD/ports 73b1026devel/py-virtualenv Makefile distinfo

devel/py-virtualenv: Update to 21.7.10

ChangeLog:

1. https://github.com/pypa/virtualenv/releases/tag/21.7.10

Reported by:    "github-actions[bot]" <notifications at github.com>
DeltaFile
+3-3devel/py-virtualenv/distinfo
+1-1devel/py-virtualenv/Makefile
+4-42 files

LLVM/project 3b8ee89llvm/lib/Analysis MustExecute.cpp, llvm/test/Analysis/MustExecute no-preheader.ll

[MustExecute] Use the loop predecessor instead of the preheader (#222096)

CanProveNotTakenFirstIteration() gets the IV start value via
LHS->getIncomingValueForBlock(CurLoop->getLoopPreheader()). If the loop
is not in simplified form, getLoopPreheader() returns null and the
lookup asserts. This is reachable from print<must-execute> on IR that is
not in LoopSimplify form (see the reproducer in #166488).

Fixed: use getLoopPredecessor() instead: it returns the unique
out-of-loop predecessor of the header even when it is not a dedicated
preheader, consequently the start value is still known. If there is no
such predecessor, bail out.

Fixes #166488.
DeltaFile
+33-0llvm/test/Analysis/MustExecute/no-preheader.ll
+8-1llvm/lib/Analysis/MustExecute.cpp
+41-12 files