FreeBSD/src f739d9f — sys/compat/linuxkpi/common/src linux_tasklet.c

linuxkpi: Do not wait for a disabled tasklet in tasklet_unlock_wait()

tasklet_unlock_wait() waited for the tasklet state to become idle.  Linux
only waits for TASKLET_STATE_RUN, i.e. for a tasklet that is currently
executing.  A tasklet which is scheduled but disabled does not run until
it is enabled again, so in LinuxKPI it stays in the BUSY (queued) state and
the waiter never returns.

This is what happens when unloading i915: execlists_reset_prepare()
disables the engine tasklet with __tasklet_disable_sync_once() while the
tasklet is queued and kldunload loops forever in pause().

Do not wait if the tasklet is only queued and disabled.

Reviewed by:    bz
Sponsored by:   Beckhoff Automation GmbH & Co. KG
DeltaFile
+19-2sys/compat/linuxkpi/common/src/linux_tasklet.c
+19-21 files

FreeBSD/src c15aab0 — sys/compat/linuxkpi/common/src linux_i2c.c

linuxkpi: Fix lkpi_i2c_del_adapter() leaving the devices behind

lkpi_i2c_del_adapter() looked for the lkpi_iic or lkpi_iicbb device to
delete with device_find_child() on increasing unit numbers, and stopped at
the first unit that does not exist.  Units are allocated globally per
devclass, so as soon as one adapter was removed (leaving a hole) or when the
units of a parent do not start at 0, the adapter was not found and its
device was never deleted.  The i2c devices of a driver such as i915 then
accumulate, with a new set of unit numbers, each time it is loaded.

Walk the children of the parent instead and match on the adapter.

Sponsored by:   Beckhoff Automation GmbH & Co. KG
DeltaFile
+30-28sys/compat/linuxkpi/common/src/linux_i2c.c
+30-281 files

LLVM/project 933d17a —

clang-format
DeltaFile
+0-00 files

LLVM/project 1f4e716 — . do_commit_mantissa_manip.py do_commit_exp_scaling.py

clean helper scripts
DeltaFile
+0-31do_commit_mantissa_manip.py
+0-31do_commit_exp_scaling.py
+0-31do_commit_exp_decomp.py
+0-933 files

LLVM/project 5fa86de — . do_commit_mantissa_manip.py, libc/shared/math modff80.h

adds modff80 function
DeltaFile
+31-0do_commit_mantissa_manip.py
+27-0libc/src/__support/math/modff80.h
+24-0libc/shared/math/modff80.h
+24-0libc/src/math/generic/modff80.cpp
+21-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+21-0libc/src/math/modff80.h
+148-025 files not shown
+229-131 files

FreeBSD/src 71d26da — sys/compat/linuxkpi/common/src linux_pci.c

linuxkpi: Release devres on PCI driver detach

linux_pci_detach_device() called the driver remove method and then only
dropped its reference on the device, expecting the devres list to be
released from lkpi_pci_dev_release() once the last reference is gone.

That never happens when a devres action itself holds a reference on the
device.  The typical case is devm_drm_dev_alloc(): the drm_device takes a
reference on its parent and the matching drm_dev_put() is a devres
action.  The device is thus never released, drm_dev_release() is never
called and the DRM device and everything it owns is leaked, which makes
unloading drm-kmod drivers fail ("failed due to N other pending
references on the LinuxKPI device") and leaves the module unloadable or
crashing.

Linux releases the devres resources when a driver is unbound, so do the
same: call lkpi_devres_release_free_list() right after the remove method.
The list is empty when lkpi_pci_dev_release() runs later.


    [2 lines not shown]
DeltaFile
+8-0sys/compat/linuxkpi/common/src/linux_pci.c
+8-01 files

LLVM/project 6931bcb — libc/src/math scalbnf80.h, libc/src/math/generic scalbnf80.cpp scalblnf80.cpp

clang-format
DeltaFile
+1-2libc/src/math/generic/scalbnf80.cpp
+1-2libc/src/math/generic/scalblnf80.cpp
+1-2libc/src/math/generic/ldexpf80.cpp
+2-1libc/test/src/math/smoke/scalblnf80_test.cpp
+2-1libc/test/shared/shared_math_test.cpp
+2-1libc/src/math/scalbnf80.h
+9-91 files not shown
+11-107 files

LLVM/project 9a2417f — . do_commit_exp_scaling.py, libc/src/__support/math scalblnf80.h CMakeLists.txt

adds ldexpf80, scalbnf80, scalblnf80
DeltaFile
+65-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+36-0libc/test/src/math/smoke/CMakeLists.txt
+33-0libc/src/math/generic/CMakeLists.txt
+32-0libc/src/__support/math/CMakeLists.txt
+31-0do_commit_exp_scaling.py
+31-0libc/src/__support/math/scalblnf80.h
+228-035 files not shown
+603-341 files

FreeBSD/src bf87604 — sys/compat/linuxkpi/common/include/linux sysfs.h

linuxkpi: Fix sysfs_remove_group() for groups without a name

sysfs_create_group() handles a group with a NULL name by creating its
attributes directly under the object node, but sysfs_remove_group() passed
the NULL name to sysctl_remove_name(), which then panics in strcmp().

Mirror the creation path: for an unnamed group, remove each attribute and
binary attribute individually.

This was not hit before because the devres actions of a PCI device
(e.g. the one registered by devm_device_add_group()) were not run when
the driver was detached.

Sponsored by:   Beckhoff Automation Gmbh & Co. KG
DeltaFile
+14-1sys/compat/linuxkpi/common/include/linux/sysfs.h
+14-11 files

LLVM/project 0766d0a — libc/src/__support/math logbf80.h, libc/src/math/generic logbf80.cpp frexpf80.cpp

clang-format
DeltaFile
+1-3libc/src/__support/math/logbf80.h
+1-2libc/src/math/generic/logbf80.cpp
+1-2libc/src/math/generic/frexpf80.cpp
+3-73 files

LLVM/project 5fe0b68 — . do_commit_exp_decomp.py, libc/src/__support/math frexpf80.h ilogbf80.h

adds frexpf80, ilogbf80, llogbf80, logbf80
DeltaFile
+84-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+44-0libc/src/math/generic/CMakeLists.txt
+40-0libc/src/__support/math/CMakeLists.txt
+31-0do_commit_exp_decomp.py
+29-0libc/src/__support/math/frexpf80.h
+29-0libc/src/__support/math/ilogbf80.h
+257-040 files not shown
+743-446 files

LLVM/project 520384f — libc/shared math.h, libc/src/math/generic canonicalizef80.cpp

clang-format
DeltaFile
+4-4libc/shared/math.h
+1-1libc/src/math/generic/canonicalizef80.cpp
+5-52 files

LLVM/project 5ebf802 — libc/src/__support/math canonicalizef80.h iscanonicalf80.h, libc/src/math/generic CMakeLists.txt

adds iscanonicalf80, isnanf80, issignalingf80, canonicalizef80
DeltaFile
+76-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+55-0libc/test/src/math/smoke/CMakeLists.txt
+44-0libc/src/math/generic/CMakeLists.txt
+40-0libc/src/__support/math/CMakeLists.txt
+34-0libc/src/__support/math/iscanonicalf80.h
+33-0libc/src/__support/math/canonicalizef80.h
+282-039 files not shown
+884-345 files

LLVM/project 506765c —

clang-format
DeltaFile
+0-00 files

LLVM/project cd5aca4 — libc/shared math.h, libc/src/__support/math totalordermagf80.h

clang-format
DeltaFile
+2-2libc/shared/math.h
+1-2libc/src/math/generic/totalorderf80.cpp
+1-2libc/src/__support/math/totalordermagf80.h
+4-63 files

LLVM/project 97acea0 — llvm/test/Instrumentation/MemorySanitizer warning_attrs.ll

Filter warning_attrs.ll checks and simplify rust-lang/rust#165040 reference

Created using spr 2.0.0-beta.2
DeltaFile
+5-108llvm/test/Instrumentation/MemorySanitizer/warning_attrs.ll
+5-1081 files

LLVM/project e59d71a — llvm/test/Instrumentation/MemorySanitizer warning_attrs.ll

Filter warning_attrs.ll checks and simplify rust-lang/rust#165040 reference

Created using spr 2.0.0-beta.2
DeltaFile
+5-108llvm/test/Instrumentation/MemorySanitizer/warning_attrs.ll
+5-1081 files

LLVM/project 64bf9aa — llvm/test/CodeGen/AArch64 machine-outliner-macho-compact-unwind-frame.mir, llvm/test/CodeGen/AMDGPU valu-read-sgpr-hazard.mir

CodeGen: Remove -verify-machineinstrs from partial llc pipelines (#238664)

llc verifies the MIR output by default when the pipeline stops before
code emission. Remove the flag from tests using -run-pass with
multiple passes or -stop-before/-stop-after with MIR or IR inputs. The
final machine code is still verified, but the verifier no longer runs
after every pass. It's very expensive to run the verifier and it's
unlikely to catch a transient error which is fixed by a later
pass. The full verification is still performed in EXPENSIVE_CHECKS
builds by default.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+6-6llvm/test/CodeGen/RISCV/zcmp-cm-popretz.mir
+6-6llvm/test/CodeGen/PowerPC/toc-data.ll
+3-3llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard.mir
+3-3llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-widen-scalar-loads.mir
+3-3llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-fexp2.mir
+3-3llvm/test/CodeGen/AArch64/machine-outliner-macho-compact-unwind-frame.mir
+24-24277 files not shown
+333-337283 files

LLVM/project a61d3ab — llvm/test/Instrumentation/MemorySanitizer comdat_ctor.ll

Filter comdat_ctor.ll checks

Created using spr 2.0.0-beta.2
DeltaFile
+1-42llvm/test/Instrumentation/MemorySanitizer/comdat_ctor.ll
+1-421 files

LLVM/project e8b21e1 — llvm/test/Instrumentation/MemorySanitizer comdat_ctor.ll

Filter comdat_ctor.ll checks

Created using spr 2.0.0-beta.2
DeltaFile
+1-42llvm/test/Instrumentation/MemorySanitizer/comdat_ctor.ll
+1-421 files

LLVM/project 581d813 — llvm/test/CodeGen/AMDGPU lower-i1-copies-clear-kills.mir coalescer-subranges-another-prune-error.mir, llvm/test/CodeGen/AMDGPU/NextUseAnalysis acyclic-770bb.mir

AMDGPU: Remove kill flags on virtual registers from MIR tests

Soon the verifier will disallow this. Delete redundant tests which
only differed from others by kill flag uses. twoaddr-bundle.mir relied
on the input kill flags in TwoAddressInstruction, so compute
LiveIntervals first as the real pipeline does.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+847-847llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir
+773-773llvm/test/CodeGen/AMDGPU/NextUseAnalysis/acyclic-770bb.mir
+201-201llvm/test/CodeGen/AMDGPU/optimize-compare.mir
+149-149llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-multi-store-mir.mir
+101-101llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
+0-157llvm/test/CodeGen/AMDGPU/lower-i1-copies-clear-kills.mir
+2,071-2,228182 files not shown
+4,281-4,669188 files

LLVM/project b3c46b3 — mlir/lib/Dialect/Math/Transforms AlgebraicSimplification.cpp, mlir/test/Dialect/Complex powi-simplify.mlir

[mlir][Math] Handle wide exponents in powi strength reduction (#237513)

This fixes https://github.com/llvm/llvm-project/issues/237494.
PowIStrengthReduction converts constant exponents to int64_t before
checking the reduction threshold, triggering assertions for out-of-range
values. Match scalar and splat constants as APInt and check their signed
range before conversion, preserving simplification of small values in
wide types.

Assisted-by: OpenAI Codex
DeltaFile
+80-0mlir/test/Dialect/Math/algebraic-simplification.mlir
+7-12mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
+12-0mlir/test/Dialect/Complex/powi-simplify.mlir
+99-123 files

LLVM/project 80556f9 — lld/ELF Driver.cpp, lld/test/ELF/invalid addrsig-symbol-index.test

[ELF] Reject out-of-range .llvm_addrsig symbol indices (#237749)

With --icf=all or --icf=safe, findKeepUniqueSections indexes the symbol
table with each .llvm_addrsig entry without a bounds check, so an
out-of-range index crashes lld. Report an error instead.

Fix #235198

Co-authored-by: Fangrui Song <i at maskray.me>
DeltaFile
+25-0lld/test/ELF/invalid/addrsig-symbol-index.test
+5-0lld/ELF/Driver.cpp
+30-02 files

LLVM/project 8f6d367 — llvm/test/TableGen RegClassByHwMode.td, llvm/utils/TableGen/Common CodeGenDAGPatterns.cpp

[nspr] initial commit
DeltaFile
+19-57llvm/test/TableGen/RegClassByHwMode.td
+35-12llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
+54-692 files

LLVM/project f6bcabe — compiler-rt/lib/builtins fp_compare_impl.inc

compiler-rt: Use int for the AMDGPU soft float comparison result

We wouldn't want to use the pointer size as the word size.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+3-0compiler-rt/lib/builtins/fp_compare_impl.inc
+3-01 files

FreeBSD/ports 569449f — devel/py-ujson Makefile distinfo

devel/py-ujson: Update to 6.1.0

Changes:        https://github.com/ultrajson/ultrajson/releases/tag/6.1.0
DeltaFile
+3-3devel/py-ujson/distinfo
+1-1devel/py-ujson/Makefile
+4-42 files

LLVM/project 47d030c — . do_commit_mantissa_manip.py, libc/shared/math modff80.h

adds modff80 function
DeltaFile
+31-0do_commit_mantissa_manip.py
+27-0libc/src/__support/math/modff80.h
+24-0libc/shared/math/modff80.h
+24-0libc/src/math/generic/modff80.cpp
+21-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+21-0libc/src/math/modff80.h
+148-025 files not shown
+229-131 files

FreeBSD/ports b042497 — devel/glab pkg-plist Makefile

devel/glab: update to 1.128.0

Changes:        https://gitlab.com/gitlab-org/cli/-/releases
DeltaFile
+5-5devel/glab/distinfo
+2-2devel/glab/Makefile
+1-0devel/glab/pkg-plist
+8-73 files

LLVM/project d3946e8 — llvm/test/CodeGen/Mips/instverify dextu-pos-size.mir dextm-size.mir

CodeGen: Remove -verify-machineinstrs from verifier tests (#238668)

These tests check machine verifier errors on invalid MIR input. The
MIR parser verifies its input, so the error is reported before any
pass runs and the verifier does not need to run after every pass.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-1llvm/test/CodeGen/Mips/instverify/dextu-pos-size.mir
+1-1llvm/test/CodeGen/Mips/instverify/dextm-size.mir
+1-1llvm/test/CodeGen/Mips/instverify/dextm-pos.mir
+1-1llvm/test/CodeGen/Mips/instverify/dextm-pos-size.mir
+1-1llvm/test/CodeGen/Mips/instverify/dext-size.mir
+1-1llvm/test/CodeGen/Mips/instverify/dext-pos.mir
+6-633 files not shown
+39-3939 files

LLVM/project ea7f0a1 — llvm/lib/Transforms/Instrumentation MemorySanitizer.cpp InstrumentationOptions.td, llvm/test/Instrumentation/MemorySanitizer msan-pass-second-run.ll comdat_ctor.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+1-3llvm/lib/Transforms/Instrumentation/InstrumentationOptions.td
+2-2llvm/test/Instrumentation/MemorySanitizer/comdat_ctor.ll
+1-1llvm/test/Instrumentation/MemorySanitizer/msan-pass-second-run.ll
+1-1llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+5-74 files