LLVM/project ead3d2c — llvm/include/llvm/Passes StandardInstrumentations.h, llvm/lib/Passes StandardInstrumentations.cpp

[StandardInstrumentations] Add ExtendedIRContext and trait registration for custom IR types (#153171)

Introduces a new class ExtendedIRType that is used for extending into
types that aren't recognized by llvm so that -print-changed is able to
be used.
DeltaFile
+46-30llvm/lib/Passes/StandardInstrumentations.cpp
+54-6llvm/include/llvm/Passes/StandardInstrumentations.h
+100-362 files

LLVM/project 7bd4866 — llvm/test/Transforms/LoopVectorize reverse-loop-length.ll

[LV] Add tests for reverse early-exit loops in deref regions (#228062)

Related to #211962

Co-authored-by: Aleksandr Popov <apopov at azul.com>
DeltaFile
+102-0llvm/test/Transforms/LoopVectorize/reverse-loop-length.ll
+102-01 files

OPNSense/plugins 773abee — net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms general.xml

Move these into the upstream subheader
DeltaFile
+18-18net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms/general.xml
+18-181 files

LLVM/project 5d3297a — llvm/lib/CodeGen RegAllocFast.cpp, llvm/test/CodeGen/AMDGPU regallocfast-dead-flag-covered-def.mir

RegAllocFast: Don't mark a physreg def dead when a live def covers its units

When scanning an instruction's physical-register defs, the fast allocator marked
a def dead whenever definePhysReg reported that nothing was displaced. This
ignored sibling def operands on the same instruction. e.g,

  $sgpr4 = S_MOV_B32 0, implicit-def $sgpr4_sgpr5_sgpr6_sgpr7

the $sgpr4 subreg def was marked dead even though the live implicit-def of the
enclosing tuple keeps $sgpr4's register unit live, producing an inconsistent
dead flag. Try to maintain the invariant that LiveVariables introduces, which is
to not put a dead flag on any defined register which has a live def in any operand.
This will be enforced by a future verifier check.

This works by clearing improperly set dead flags after the fact which I find
distasteful but I don't see a better option without making the state tracking much
more complicated.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+29-0llvm/lib/CodeGen/RegAllocFast.cpp
+16-0llvm/test/CodeGen/AMDGPU/regallocfast-dead-flag-covered-def.mir
+45-02 files

OPNSense/plugins b69573e — net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms general.xml

Add subheaders to group the settings better
DeltaFile
+8-0net/ndp-proxy-go/src/opnsense/mvc/app/controllers/OPNsense/NdpProxy/forms/general.xml
+8-01 files

DragonFlyBSD/src 22542f9 — sys/dev/drm drm_sysfs.c

drm: notify userspace of connector changes

Emit the DRM CONNECTOR HOTPLUG devctl event for the primary card. The
empty hotplug handler leaves libudev-devd clients unaware of connector
changes.

Use the event contract implemented in FreeBSD drm-kmod
drivers/gpu/drm/drm_sysfs.c.

Bug: https://bugs.dragonflybsd.org/issues/3440
DeltaFile
+9-0sys/dev/drm/drm_sysfs.c
+9-01 files

LLVM/project c8faa8a — clang/include/clang/Basic BuiltinsNVPTX.td, clang/lib/CodeGen/TargetBuiltins NVPTX.cpp

[clang][NVPTX] Add support for scaled::n1::ue8m0 in FP8, FP6 and FP4 conversions (#227652)

This patch adds support for `scaled::n1::ue8m0` to existing 
`f32/f16x2/bf16x2` to `FP8` (`e4m3x2`, `e5m2x2`), 
`FP6` (`e2m3x2`, `e3m2x2`) and `FP4` (`e2m1x2`) conversion intrinsics.

Tests have been verified through `ptxas-13.4`.

PTX ISA Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-cvt

---------

Signed-off-by: DharuniRAcharya <dharunira at nvidia.com>
DeltaFile
+178-0llvm/test/CodeGen/NVPTX/convert-fp8-scale.ll
+178-0llvm/test/CodeGen/NVPTX/convert-fp6-scale.ll
+129-0clang/include/clang/Basic/BuiltinsNVPTX.td
+122-0llvm/test/CodeGen/NVPTX/convert-fp4-scale.ll
+63-0clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
+41-5llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+711-53 files not shown
+819-59 files

LLVM/project cae1f2d — llvm/docs/GlobalISel MIRPatterns.md, llvm/include/llvm/CodeGen/GlobalISel GIMatchTableExecutorImpl.h

[GlobalISel][TableGen] Support for typed G_FCONSTANT Imm in MIR-patttern (#219563)

GlobalISel MIR combine patterns can already build a typed integer
constant directly in an apply pattern, e.g. `(apply (G_CONSTANT $dst,
(GITypeOf<"$dst"> 0)))`. The same was not possible for `G_FCONSTANT`:
writing a typed literal on it silently producing invalid MIR, since the
immediate was routed through the path meant for register operands rather
than being emitted as a floating-point immediate.

This patch extends that support to `G_FCONSTANT`, letting typed
float-constant patterns be written declaratively and type-derived via
`GITypeOf` just like the integer case, instead of falling back to
hand-written C++ combine code or hitting the bad-MIR bug.

This is a prerequisite for migrating existing `wip_match_opcode`
combines that replace a matched value with a float constant of its own
type into pure MIR patterns.
DeltaFile
+365-57llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
+23-0llvm/docs/GlobalISel/MIRPatterns.md
+18-3llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
+19-0llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
+11-6llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
+6-5llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
+442-712 files not shown
+458-718 files

LLVM/project 79ce58b — utils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Fixes a803686 (#229014)

This fixes a8036869bcccb6236b6ef6785cbe69455cdbd195 (#228466).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=a8036869bcccb6236b6ef6785cbe69455cdbd195

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+4-1utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+4-11 files

LLVM/project ff0f7fd — llvm/lib/Target/AMDGPU GCNSchedStrategy.cpp, llvm/test/CodeGen/AMDGPU schedule-pressure-bundle-subreg-def.mir

[AMDGPU] Check bundled instructions in canUsePressureDiffs (#227620)

canUsePressureDiffs refuses to use the imprecise cached PressureDiffs
for instructions with subregister defs or physical registers, but it
skips implicit operands, and a BUNDLE header has only implicit operands.
So bundles always used the PressureDiffs, which count a def of one lane
as a def of the whole register. With EXPENSIVE_CHECKS this tripped the
pressure cross-check in GCNSchedStrategy. Check the operands of the
bundled instructions instead.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+48-0llvm/test/CodeGen/AMDGPU/schedule-pressure-bundle-subreg-def.mir
+3-2llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+51-22 files

LLVM/project 8bb83ca — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/SemaOpenCL builtins-amdgcn-error-gfx1250-strict.cl

Revert "Revert "[AMDGPU] Disable V_WMMA_F{16|32}_16X16X128_[BF]P8_[BF]P8 on g…"

This reverts commit f16e2e3a234e1112f3ab36b6b9c5246e535821a6.
DeltaFile
+18-12llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+24-0llvm/test/MC/AMDGPU/gfx1250-strict_err.s
+8-8clang/include/clang/Basic/BuiltinsAMDGPU.td
+8-5llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+11-1clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-strict.cl
+7-1llvm/lib/Target/AMDGPU/AMDGPU.td
+76-276 files

LLVM/project df6ef90 — llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp TailDuplicator.cpp, llvm/lib/Target/AArch64 AArch64MCInstLower.cpp AArch64FrameLowering.cpp

CodeGen: Prefer getting the Triple from the Module (#228682)

Continue replacing TargetMachine::getTargetTriple() with the module's
triple at sites where a Module is one hop away through an available
Function, GlobalValue or MachineModuleInfo.

Where the surrounding class already holds a Subtarget, use its triple
rather than routing through the Module.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+7-3llvm/lib/CodeGen/TailDuplicator.cpp
+4-4llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+3-2llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
+2-2llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
+2-1llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
+2-1llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
+20-1313 files not shown
+34-2619 files

LLVM/project e408f74 — llvm/include/llvm/CodeGen LiveDebugVariables.h, llvm/lib/CodeGen LiveDebugVariables.cpp

[LiveDebugVariables] Repair stale SlotIndexes

The analysis keeps its indexes from before the first register allocator
until DBG_VALUEs are emitted, by which point passes in between have
erased some of the instructions they point at. Resolve them at the
start of each allocator run and before emitting.

SlotIndexes can then reclaim the entries of erased instructions without
sparing the ones held here, which would have made generated code depend
on -g. Emitted locations are unchanged, except that intervals resolving
to one position now emit a single DBG_VALUE rather than identical
consecutive ones.
DeltaFile
+140-0llvm/lib/CodeGen/LiveDebugVariables.cpp
+63-0llvm/test/DebugInfo/AMDGPU/live-debug-vars-stale-slot-indexes.ll
+8-4llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir
+8-0llvm/include/llvm/CodeGen/LiveDebugVariables.h
+5-2llvm/test/CodeGen/X86/debug-spilled-snippet.mir
+5-2llvm/test/CodeGen/X86/debug-spilled-snippet.ll
+229-81 files not shown
+236-87 files

LLVM/project 4aa0ff6 — llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen SlotIndexes.cpp

[SlotIndexes] Add queries for stale indexes

An erased instruction leaves its index list entry in place, making the
index indistinguishable from a block boundary entry. Add
isBlockBoundaryIndex() and isStaleIndex() to tell the two apart, and
canonicalizeIndex() to resolve a stale index to the closest preceding
instruction's register slot, or the block start if none survives.

NFC. No caller yet. LiveDebugVariables is next.
DeltaFile
+207-0llvm/unittests/CodeGen/SlotIndexesTest.cpp
+29-0llvm/lib/CodeGen/SlotIndexes.cpp
+14-0llvm/include/llvm/CodeGen/SlotIndexes.h
+1-0llvm/unittests/CodeGen/CMakeLists.txt
+251-04 files

DragonFlyBSD/src 33df790 — share/man/man4 bpf.4, sys/net bpf_filter.c

bpf: add XOR and modulo instructions

libpcap can generate XOR and modulo instructions, but the kernel
interpreter and validator do not support them.

Add constant and register operands for both operations. Reject constant
modulo by zero and return zero for a register zero divisor, as for DIV.
Update the manual to match.

Patch-by: guy
Bug: https://bugs.dragonflybsd.org/issues/3387
DeltaFile
+23-1sys/net/bpf_filter.c
+9-1share/man/man4/bpf.4
+32-22 files

GhostBSD/install-station fe9f31b — install_station network_setup.py, po zh_TW.po zh_CN.po

Merge pull request #20 from ghostbsd/wifi-connect-feedback

Wifi connection feedback
DeltaFile
+69-28install_station/network_setup.py
+37-32po/zh_TW.po
+37-32po/zh_CN.po
+37-32po/vi_VN.po
+37-32po/tr_TR.po
+37-32po/th_TH.po
+254-18833 files not shown
+1,438-1,21339 files

FreeNAS/freenas 11d93d6 — src/middlewared/middlewared/plugins/pool_ dataset_encryption_operations.py dataset_encryption.py, src/middlewared/middlewared/plugins/zfs encryption_service.py encryption_lock.py

Move dataset encryption to zfs.resource.encryption

## Problem
Dataset encryption still lived in the `pool.dataset` namespace even though `zfs.resource` is now the dataset API, and zr's own create path had to call back into `pool.dataset.insert_or_update_encrypted_record` to record keys.

## Solution
- **New `zfs.resource.encryption` sub-service** owning lock, unlock, unlock_summary, export_key, export_keys, export_replication_keys, change_key and inherit, with zr conventions (`path`, lowercase enums, `Secret` keys, `ZFS_RESOURCE_*` roles, audit). Public methods delegate to private `*_impl` methods for thread local storage, as the rest of zr does, and everything is synchronous except starting attachment delegates, whose API is async.
- **Private methods moved and renamed** (store_key, delete_keys, stored_keys, sync_keys, encryption_roots, encryption_state, replication_keys, encryption_root_mapping, unlock_impl), together with the `storage_encrypteddataset` model. Every internal caller (failover, pool create/import/export, KMIP, replication, zfs events, zr create) now calls zr directly; no `pool.dataset` alias is left.
- **`pool.dataset` encryption methods are thin shims** keeping their models, roles and pipes. They call the zr `*_impl` methods through the namespace with their own job, so no nested jobs are created, and they share zr's job locks so both APIs serialize on the same dataset. Error messages are unchanged; validation attributes now follow zr names.
- `unlock_impl` has a private Secret-typed accepts model so passphrases handed over by failover stay redacted in job listings.
- Hook names and payloads, including the uppercase key formats failover relies on, are unchanged, and nothing renamed is called across HA controllers.
DeltaFile
+433-0src/middlewared/middlewared/plugins/zfs/encryption_lock.py
+0-416src/middlewared/middlewared/plugins/pool_/dataset_encryption_lock.py
+0-405src/middlewared/middlewared/plugins/pool_/dataset_encryption_info.py
+353-0src/middlewared/middlewared/plugins/zfs/encryption_service.py
+322-0src/middlewared/middlewared/plugins/pool_/dataset_encryption.py
+0-271src/middlewared/middlewared/plugins/pool_/dataset_encryption_operations.py
+1,108-1,09224 files not shown
+2,070-1,25530 files

LLVM/project 1a229a9 — llvm/lib/Target/X86 X86DynAllocaExpander.cpp, llvm/test/CodeGen/X86 dyn-alloca-expander-dead-eflags.ll

X86: Preserve the dead flag clobber when expanding dynamic allocas (#227702)

The DYN_ALLOCA pseudos clobber EFLAGS, so propagate the pseudo's dead
flag to the stack adjustment they expand to.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+51-0llvm/test/CodeGen/X86/dyn-alloca-expander-dead-eflags.ll
+15-7llvm/lib/Target/X86/X86DynAllocaExpander.cpp
+66-72 files

GhostBSD/install-station 1246990 — install_station network_setup.py

Grey out the WiFi list while a rescan is running

A connection started during a rescan could be overridden when the scan
finished. Rescan re-enabled itself and the status line went back to
"not connected" while the attempt was still running. Disabling the
list until the scan is done stops a connection from starting mid-scan.
DeltaFile
+2-0install_station/network_setup.py
+2-01 files

LLVM/project 64c9c2b — clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp, clang/test/Sema/LifetimeSafety explicit-object-param-no-crash.cpp

[LifetimeSafety] Fix capture_by argument mapping for explicit object params (#228979)

`isInstance()` is also true for explicit object member functions, but
their object argument binds to a real parameter, so arguments and
parameters line up one-to-one. This commit fixes the problem by using
`isImplicitObjectMemberFunction()`.
DeltaFile
+17-0clang/test/Sema/LifetimeSafety/explicit-object-param-no-crash.cpp
+6-4clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+23-42 files

OPNSense/src a5f8571 — sys/dev/ice if_ice_iflib.c ice_ddp_common.c

ice(4): do not leave device non-functional if Tx scheduler config fails

Taken from: https://reviews.freebsd.org/D60168
DeltaFile
+21-11sys/dev/ice/ice_ddp_common.c
+1-11sys/dev/ice/if_ice_iflib.c
+22-222 files

LLVM/project 5fe6781 — llvm/test/TableGen dag-pattern-invalid-instruction-result.td, llvm/utils/TableGen/Common CodeGenDAGPatterns.cpp

[TableGen] Avoid crashing on a missing instruction pattern result (#228075)

When an instruction pattern's result name does not match the declared
output operand, TableGen diagnoses the mismatch but continues and
dereferences InstResults.end().

Make this diagnostic fatal, preserving the existing message and pattern
dump while stopping before the invalid access.

Add regression coverage for invalid and valid result names with both
-gen-instr-info and -gen-dag-isel. This test fails without this patch

This crash seems to have been present since:
`635debe85beb7fbb54590f20b9720d99f938cb84`
DeltaFile
+22-0llvm/test/TableGen/dag-pattern-invalid-instruction-result.td
+6-2llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
+28-22 files

LLVM/project 4f00a35 — llvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine deinterleave-interleave-tree.ll

Revert "[VectorCombine] Fold interleave and widen chained operations (#224005)"

This reverts commit 267acde987e78e53dd2fa2d535454fa255c96a5b.
DeltaFile
+0-506llvm/test/Transforms/VectorCombine/deinterleave-interleave-tree.ll
+210-219llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+210-7252 files

LLVM/project fbf5869 — llvm/lib/Transforms/Utils MoveAutoInit.cpp, llvm/test/Transforms/MoveAutoInit catchpad.ll

[MoveAutoInit] Don't move auto-init instructions into EH pad blocks (#222100)

`BasicBlock::getFirstInsertionPt()` skips a leading EH pad, but the
MemorySSA update registers the moved instruction with
`InsertionPlace::Beginning`. A `CatchPadInst` is itself a `MemoryDef`,
so instruction order and access order disagree and `-verify-memoryssa`
asserts. Extend the existing `CatchSwitchInst` guard to all EH pads.

Fixes #221568.

Written with claude-code (Opus 5); reviewed and tested locally.
DeltaFile
+55-0llvm/test/Transforms/MoveAutoInit/catchpad.ll
+4-3llvm/lib/Transforms/Utils/MoveAutoInit.cpp
+59-32 files

LLVM/project 7040134 — llvm/lib/Target/Mips MipsISelLowering.cpp MipsFastISel.cpp, llvm/test/CodeGen/Mips/Fast-ISel mul-dead-hilo.ll

Mips: Stop setting kill flags on virtual registers before FinalizeISel (#229018)

There is no point in maintaining these before register allocation anymore.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+3-3llvm/lib/Target/Mips/MipsISelLowering.cpp
+3-3llvm/lib/Target/Mips/MipsFastISel.cpp
+2-2llvm/test/CodeGen/Mips/Fast-ISel/mul-dead-hilo.ll
+8-83 files

DragonFlyBSD/src 2f55966 — sys/dev/drm drm_drv.c

drm: reject unload while core teardown is incomplete

Unloading drm.ko reaches ttm_exit(), which waits for device_released.
The callback which sets that flag is compiled out and device unregister
is a stub, so kldunload sleeps indefinitely while holding the linker
lock. The module event handler has already cleared the Linux task and
process cleanup callbacks by then.

DRM also retains worker threads and undrained RCU callouts, so removing
the TTM wait alone would not make unloading safe. Return EBUSY from
MOD_UNLOAD before changing callbacks or entering SYSUNINIT. Keep the
module usable until complete teardown is implemented.

Bug: https://bugs.dragonflybsd.org/issues/3443
DeltaFile
+2-3sys/dev/drm/drm_drv.c
+2-31 files

FreeBSD/ports b212836 — deskutils/meteo distinfo Makefile

deskutils/meteo: Update to 1.0.0

Changelog: https://gitlab.com/bitseater/meteo/-/blob/1.0.0/debian/changelog

Reported by:    Repology
DeltaFile
+5-17deskutils/meteo/pkg-plist
+8-12deskutils/meteo/Makefile
+3-3deskutils/meteo/distinfo
+16-323 files

NetBSD/src Rz316q2 — sys/kern sys_pipe.c

   Avoid attempting to wakeup dead writers.
VersionDeltaFile
1.178+6-4sys/kern/sys_pipe.c
+6-41 files

LLVM/project 267acde — llvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine deinterleave-interleave-tree.ll

[VectorCombine] Fold interleave and widen chained operations (#224005)

Generalize the existing single deinterleave-interleave pair fold by starting from the interleave
and walking backwards through its operands.
Starting from the interleave instead exposes the whole expression tree that produces its operands,
allowing the combine to discover multiple deinterleaves participating in the same reconstructed vector.
The walk follows supported element-wise operations and splats backwards until it reaches the originating deinterleaves. Once all interleave operands can be traced back consistently, the operations can be rebuilt
on the original wider vectors and the intermediate deinterleave-interleave operations removed.
This makes the fold handle patterns with multiple deinterleaved inputs.
DeltaFile
+506-0llvm/test/Transforms/VectorCombine/deinterleave-interleave-tree.ll
+219-210llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+725-2102 files

DragonFlyBSD/src 8c75d90 — sys/vm vm_map.c

vm: use normal COW inheritance for user-wired mappings

Forking an mlock()ed MAP_PRIVATE file mapping can panic with
"vm_fault_copy_wired: page missing". The wired-copy path expects the
page in the front object, but it may be in a backing object or have
been removed after the file was truncated.

Use normal COW inheritance for normal mappings with only a user wire.
The parent stays user-wired and the child remains unwired. The normal
fault path resolves backing pages and handles pager errors. Keep eager
copying for hard-wired and virtual-page-table mappings.

Reviewed-by: dillon
Bug: https://bugs.dragonflybsd.org/issues/3433
DeltaFile
+6-2sys/vm/vm_map.c
+6-21 files