LLVM/project c3a8b92llvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp, llvm/test/Transforms/InstCombine/RISCV riscv-vsetvlimax-range.ll riscv-vsetvli-range.ll

[RISCV] Attach VLMAX range attribute for vsetvli/vsetvlimax in InstCombine

Attach a range return attribute to riscv_vsetvli/vsetvlimax so the generic
value analyses can reason about the result via CallBase::getRange(), using the
subtarget's real VLEN instead of the architectural maximum.

VLMAX = VLEN * LMUL / SEW. vsetvlimax returns exactly VLMAX; vsetvli returns
0 <= vl <= min(AVL, VLMAX), which equals AVL only when AVL cannot exceed the
smallest possible VLMAX. Otherwise vl may shrink below VLMAX (to 0 at runtime),
so we only claim the VLMAX-derived upper bound.

Fixes #217784.

Assisted-by: TRAE CLI (Opus 4.8)

Reviewers: efriedma-quic, preames, lenary, lukel97

Reviewed By: lukel97

Pull Request: https://github.com/llvm/llvm-project/pull/218652
DeltaFile
+125-0llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvli-range.ll
+107-0llvm/test/Transforms/InstCombine/RISCV/riscv-vsetvlimax-range.ll
+59-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+291-03 files

NetBSD/src VI1buQWsys/ufs/lfs lfs_vfsops.c

   Move lfs_free_orphans() later in the mount sequence to avoid deadlock.
VersionDeltaFile
1.401+5-5sys/ufs/lfs/lfs_vfsops.c
+5-51 files

HardenedBSD/ports 65fd885net/croc distinfo, net/freerdp3 Makefile

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+41-0security/vuxml/vuln/2026.xml
+24-6net/freerdp3/Makefile
+7-7www/redmine61/Makefile
+5-5net/redpanda-connect/distinfo
+5-5net/nats-server/distinfo
+5-5net/croc/distinfo
+87-2819 files not shown
+130-6925 files

LLVM/project 3b17fa2lld/MachO ObjC.h ObjC.cpp, lld/test/MachO objc-category-merging-minimal.s objc-category-merging-swift-protocol-conformance.s

[lld-macho] Remove symbol name assumptions from category merging (#217276)

The category merger required every __objc_catlist entry to point to a
symbol named with the `__OBJC_$_CATEGORY_` or `__CATEGORY_` prefix and
hit llvm_unreachable otherwise. Such names cannot be relied upon: `ld
-r` rewrites the names of category body symbols to generated names like
`l002`, and linking its output crashes lld.

The merger also used symbol names to predict the layout of protocol
lists, which is fragile even for conventionally named inputs. The repro
https://github.com/llvm/llvm-project/pull/95124#issuecomment-4267900795
fired the "Protocol list does not match expected size" assertion.

Remove the category symbol name requirement, and drop the layout
assertion together with the SourceLanguage machinery.
DeltaFile
+394-0lld/test/MachO/objc-category-merging-swift-protocol-conformance.s
+15-72lld/MachO/ObjC.cpp
+6-0lld/test/MachO/objc-category-merging-minimal.s
+0-3lld/MachO/ObjC.h
+415-754 files

LLVM/project fb9a86cmlir/include/mlir/Dialect/LLVMIR NVVMOps.td, mlir/lib/Dialect/LLVMIR/IR NVVMDialect.cpp

[MLIR][NVVM] Add S2G and Reduce override NVVM Dialect ops (#216481)

This change adds S2G and Reduction NVVM Dialect operations with tensor
map override capability.
DeltaFile
+371-0mlir/test/Target/LLVMIR/nvvm/tma_store_reduce_override.mlir
+211-0mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+179-0mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+153-0mlir/test/Target/LLVMIR/nvvm/tma_store_override.mlir
+66-0mlir/test/Target/LLVMIR/nvvm/nvvmir-invalid/tma_store_override_invalid.mlir
+59-0mlir/test/Target/LLVMIR/nvvm/nvvmir-invalid/tma_reduce_override_invalid.mlir
+1,039-06 files

LLVM/project 6e170cebolt/lib/Target/RISCV RISCVMCPlusBuilder.cpp, bolt/test/RISCV plt-call.test

[BOLT][RISCV] Implement indirect PLT calls (#219184)

This patch implements `MCPlusBuilder::createIndirectPLTCall` for RISC-V,
enabling BOLT's `--plt=hot` and `--plt=all` optimizations for RISC-V
binaries.

The PLT call pass replaces direct calls and tail calls to PLT entries
with indirect calls through the corresponding resolved GOT slot. The
generated sequence is:

    auipc  t3, %pcrel_hi(target at GOT)
    l[dw]  t3, %pcrel_lo(.Lpcrel_hi)(t3)
    jalr   ra, t3, 0
DeltaFile
+53-0bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
+44-0bolt/test/RISCV/plt-call.test
+97-02 files

LLVM/project 2876d94llvm/lib/Target/WebAssembly WebAssemblyISelLowering.cpp, llvm/test/CodeGen/WebAssembly f16-intrinsics.ll

[WebAssembly] Expand v8f16 SELECT_CC (#218922)

Follow up for #213280 (read
https://github.com/llvm/llvm-project/pull/213280#discussion_r3797603654)

Mark `v8f16 SELECT_CC` for expansion so scalar comparison-based selects
lower through the existing comparison and `v128.select` patterns
DeltaFile
+32-0llvm/test/CodeGen/WebAssembly/f16-intrinsics.ll
+2-2llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
+34-22 files

LLVM/project 49f7deaorc-rt/include/orc-rt/bedrock Error.h SimplePackedSerialization.h, orc-rt/include/orc-rt/support Error.h SimplePackedSerialization.h

[orc-rt] Split headers into support/ and bedrock/ layers. NFC. (#219374)

Follow-up to 8c7563a40a5b, which nested the runtime's headers under
include/orc-rt/bedrock/ and noted that library-neutral headers would
later be split back out.

The split names a layer -- who may include whom. support/ holds
vocabulary and utilities that depend on nothing else in orc-rt; bedrock/
holds the runtime components (Session, Service, the memory map, the
dylib manager, the SPS controller interfaces) and may include support/.
SPIRE will be able to include both. orc-rt-c/ gains the same layering.

Note that support/ is a layer inside the bedrock library, not a separate
one: Error.cpp and RTTI.cpp still compile into orc-rt-bedrock.

Also folded in: bedrock/sps-ci/ -> bedrock/sps/ in both include/ and
lib/; include guards derived from each header's path, as LLVM does
(ORC_RT_SUPPORT_ERROR_H); test/unit/ mirrored onto the new layout, with
cross-layer test helpers left at its root; test-target FOLDER properties

    [3 lines not shown]
DeltaFile
+0-1,194orc-rt/test/unit/SessionTest.cpp
+1,194-0orc-rt/test/unit/bedrock/SessionTest.cpp
+0-826orc-rt/include/orc-rt/bedrock/SimplePackedSerialization.h
+826-0orc-rt/include/orc-rt/support/SimplePackedSerialization.h
+0-714orc-rt/include/orc-rt/bedrock/Error.h
+714-0orc-rt/include/orc-rt/support/Error.h
+2,734-2,734236 files not shown
+16,547-16,529242 files

LLVM/project 5715274mlir/lib/Dialect/SPIRV/Transforms SPIRVConversion.cpp, mlir/test/Conversion/MemRefToSPIRV memref-to-spirv.mlir bitwidth-emulation.mlir

[mlir][SPIRV] Fix `StorageBuffer` access conversion for emulated i16 (#218693)

Follows up on commit 202ece6. In the absence of `Int16` and
`StorageBuffer16BitAccess` in the target, `i16` isn't any different from
byte & sub-byte types. As exposed by downstream smoke tests of the IREE
project, an edge case where this causes issues is a 0/1-rank memref.
Semantically:
```
memref<i16>  ->  ptr<struct<array<1 x i32>>>
```
Since the array lengths are the same in the absence of actual packing,
just the index bounds check doesn't catch this and `InBoundsAccessChain`
still gets chosen. In the end, the memref op fails to lower through the
same restriction in `MemRefToSPIRV` that the original change apparently
had to work around - only `AccessChain` is expected there.

As a more general criterion, the change just compares array the element
types and picks `AccessChain` upon mismatch.


    [6 lines not shown]
DeltaFile
+17-19mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
+20-0mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
+6-1mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
+43-203 files

LLVM/project fe5a382llvm/lib/MC/MCParser AsmParser.cpp

[MCParser] Fix some bound checking when scanning macro body (#219367)
DeltaFile
+5-5llvm/lib/MC/MCParser/AsmParser.cpp
+5-51 files

OPNSense/core c303e9dsrc/etc/inc filter.inc, src/etc/inc/plugins.inc.d openssh.inc

locking: make sure to add +e [CLOEXEC] so locks can't be inherited by child processes, for https://github.com/opnsense/core/issues/10807
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Interfaces/NetworkInterface.php
+1-1src/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php
+1-1src/etc/inc/plugins.inc.d/openssh.inc
+1-1src/etc/inc/filter.inc
+4-44 files

FreeBSD/src 2c68ad4lib/libutil mntopts.c, sbin/mount_nullfs mount_nullfs.c mount_nullfs.8

nullfs: Allow VSOCK to be mounted on top of another VSOCK

In the world of containers, mounting a unix(4) socket is a common
practice to allow communication between processes within containers.
For example, both Podman and Docker can expose a unix(4) socket,
and that same unix(4) socket can be mounted as a file accessible
to a process inside a container, allowing that application to control
Podman or Docker. Another example is PHP-FPM with NGINX, where,
instead of using TCP/IP for communication between containers, a
unix(4) socket is sufficient.

However, nullfs(4) and all related components do not allow mounting
a VSOCK on top of another. The current workaround involves creating
the socket in a directory and mounting that directory. This is an
option, though it does not provide a good user experience compared
to directly mounting a VSOCK on top of another, since the application
that creates the socket may create other sockets in that directory,
and the user may not wish to share them, or, worse yet, applications
that create unix(4) sockets may not provide any authentication at

    [7 lines not shown]
DeltaFile
+3-3sys/kern/vfs_mount.c
+3-3sys/kern/vfs_cache.c
+3-3sbin/mount_nullfs/mount_nullfs.c
+4-2sbin/mount_nullfs/mount_nullfs.8
+1-1sys/fs/nullfs/null_vfsops.c
+1-1lib/libutil/mntopts.c
+15-136 files

LLVM/project 57f293fllvm/lib/Target/X86 X86InstrPredicates.td X86InstrFragments.td, llvm/test/CodeGen/X86 adox-flags.ll adox.ll

[X86] Emit adox instead of adc for overflow add (#216609)

ADOX is like ADC but with OF instead of the CF and can only be encoded
with a pair of 32 or 64 bit regs.

Basically this applies in cases where the overflow flag is being added.
DeltaFile
+273-0llvm/test/CodeGen/X86/adox.ll
+137-0llvm/test/CodeGen/X86/adox-flags.ll
+67-0llvm/lib/Target/X86/X86ISelLowering.cpp
+32-1llvm/lib/Target/X86/X86InstrArithmetic.td
+1-0llvm/lib/Target/X86/X86InstrPredicates.td
+1-0llvm/lib/Target/X86/X86InstrFragments.td
+511-16 files

NetBSD/pkgsrc-wip 0f9b56ap5-Time-Piece-Range Makefile distinfo

(time/p5-Time-Piece-Range) silence pkglint
DeltaFile
+4-2p5-Time-Piece-Range/DESCR
+1-2p5-Time-Piece-Range/distinfo
+1-0p5-Time-Piece-Range/Makefile
+6-43 files

FreeBSD/ports 82cf3acnet/redpanda-connect Makefile distinfo

net/redpanda-connect: Update to 4.107.0
DeltaFile
+5-5net/redpanda-connect/distinfo
+1-1net/redpanda-connect/Makefile
+6-62 files

HardenedBSD/ports 82cf3acnet/redpanda-connect Makefile distinfo

net/redpanda-connect: Update to 4.107.0
DeltaFile
+5-5net/redpanda-connect/distinfo
+1-1net/redpanda-connect/Makefile
+6-62 files

FreeBSD/ports f0b8007net-mgmt/flow Makefile distinfo

net-mgmt/flow: Update to 0.2.4
DeltaFile
+5-5net-mgmt/flow/distinfo
+1-1net-mgmt/flow/Makefile
+6-62 files

HardenedBSD/ports 4e36f6cnet/croc Makefile distinfo

net/croc: Update to 11.3.3
DeltaFile
+5-5net/croc/distinfo
+1-1net/croc/Makefile
+6-62 files

FreeBSD/ports 4e36f6cnet/croc Makefile distinfo

net/croc: Update to 11.3.3
DeltaFile
+5-5net/croc/distinfo
+1-1net/croc/Makefile
+6-62 files

HardenedBSD/ports f0b8007net-mgmt/flow Makefile distinfo

net-mgmt/flow: Update to 0.2.4
DeltaFile
+5-5net-mgmt/flow/distinfo
+1-1net-mgmt/flow/Makefile
+6-62 files

HardenedBSD/ports 0227195net/nats-server Makefile distinfo

net/nats-server: Update to 2.14.6
DeltaFile
+5-5net/nats-server/distinfo
+1-2net/nats-server/Makefile
+6-72 files

FreeBSD/ports bbab5e3net/cliproxyapi Makefile distinfo

net/cliproxyapi: Update to 7.2.144
DeltaFile
+5-5net/cliproxyapi/distinfo
+1-1net/cliproxyapi/Makefile
+6-62 files

HardenedBSD/ports bbab5e3net/cliproxyapi Makefile distinfo

net/cliproxyapi: Update to 7.2.144
DeltaFile
+5-5net/cliproxyapi/distinfo
+1-1net/cliproxyapi/Makefile
+6-62 files

FreeBSD/ports 0227195net/nats-server Makefile distinfo

net/nats-server: Update to 2.14.6
DeltaFile
+5-5net/nats-server/distinfo
+1-2net/nats-server/Makefile
+6-72 files

LLVM/project 7dee60allvm/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
+0-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+0-81 files

LLVM/project 7d9c222llvm/lib/Target/WebAssembly WebAssemblyInstrSIMD.td, llvm/test/CodeGen/WebAssembly simd-load-lane-offset.ll

[WebAssembly] Select lane stores for floating-point vectors (#219186)

This extends the existing integer vector lane-store patterns to the
equivalent floating-point vector types. The underlying WebAssembly
instructions are type-agnostic lane stores.

That being said I think something like `STORE_LANE_I32x4_A32` can be
misleading when dealing with floating-point vectors. (should there be a
rename or something ?)
DeltaFile
+90-0llvm/test/CodeGen/WebAssembly/simd-load-lane-offset.ll
+19-12llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
+109-122 files

LLVM/project e67a285llvm/lib/Target/WebAssembly WebAssemblyInstrSIMD.td, llvm/test/CodeGen/WebAssembly simd-offset.ll simd-load-promote-wide.ll

[WebAssembly] Fold offsets into extending SIMD loads (#219144)

I saw this TODO and realized that instead of lowering to 
```
local.get 0
i32.const 8
i32.add
v128.load64_zero 0
f64x2.promote_low_f32x4
```
We could choose 
```
local.get 0
v128.load64_zero 8
f64x2.promote_low_f32x4
```

So I used the existing WebAssembly address operand patterns when
lowering v2f32-to-v2f64 extending loads.

    [3 lines not shown]
DeltaFile
+17-31llvm/test/CodeGen/WebAssembly/simd-load-promote-wide.ll
+6-10llvm/test/CodeGen/WebAssembly/simd-offset.ll
+8-6llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
+31-473 files

OpenBSD/src mczaJosusr.sbin/fw_update patterns.c

   Drop rsu from fw_update patterns; it has been in base since 2021.

   ok afresh1@
VersionDeltaFile
1.21+1-2usr.sbin/fw_update/patterns.c
+1-21 files

FreeBSD/src 0c9cc6cshare/man/man4 nvme.4

nvme.4: Canonicalize SYNOPSIS

MFC after: 3 days

(cherry picked from commit b863d38437af11c18a88de656404af8cefa35e63)
DeltaFile
+38-18share/man/man4/nvme.4
+38-181 files

HardenedBSD/ports c08043fsecurity/vuxml/vuln 2026.xml

security/vuxml: document Gitlab vulnerabilities
DeltaFile
+41-0security/vuxml/vuln/2026.xml
+41-01 files