FreeBSD/src 961f481sys/kern sched_ule.c

sched_ule: Fix off by one in preempt_thresh definition

Since 'preempt_thresh' is set to PRI_MIN_KERN by default, and comparison
of the considered thread's priority with that threshold is done with
'<=', PRI_MIN_KERN threads actually can preempt other threads, contrary
to other non-interrupt kernel ones (between PRI_MIN_KERN + 1 and
PRI_MAX_KERN).

So, replace the comparison operator '<=' by '<'.  The alternative would
be to change the default value, but changing the comparison instead has
the benefit to be consistent with the 0 setting (which forbids
preemption entirely), since allowing only threads with priority 0 to
preempt becomes possible.

Consequently, we also change the default value for the FULL_PREEMPTION
option by adding 1 to PRI_MAX_IDLE (in practice, that does not make any
difference in the current setting, since no preemption will happen if
the new priority value is not strictly lower than the current one, and
PRI_MAX_IDLE is PRI_MAX, the highest possible priority).

    [8 lines not shown]
DeltaFile
+2-2sys/kern/sched_ule.c
+2-21 files

FreeBSD/src ae9f664sys/fs/nfs nfs_commonkrpc.c

nfs_commonkrpc.c: Improve handling of NFSv4.1/4.2 recovery

Commit 4d80d4913e79 fixed a long standing bug in the recovery
code.  However. glebius@ reported seeing multiple
recovery cycles with this patch during an NFSv4.1/4.2
server reboot.

This commit should minimize the risk of multiple
recovery cycles.

PR:     294925

(cherry picked from commit ea4886f2829bf33866c8c0c60b14a9641fc54b40)
DeltaFile
+8-5sys/fs/nfs/nfs_commonkrpc.c
+8-51 files

FreeBSD/src afc1136sys/fs/nfs nfs_commonkrpc.c

nfs_commonkrpc.c: Improve handling of NFSv4.1/4.2 recovery

Commit 4d80d4913e79 fixed a long standing bug in the recovery
code.  However. glebius@ reported seeing multiple
recovery cycles with this patch during an NFSv4.1/4.2
server reboot.

This commit should minimize the risk of multiple
recovery cycles.

PR:     294925

(cherry picked from commit ea4886f2829bf33866c8c0c60b14a9641fc54b40)
DeltaFile
+8-5sys/fs/nfs/nfs_commonkrpc.c
+8-51 files

LLVM/project 36b2048llvm/lib/Target/X86 X86FrameLowering.cpp, llvm/test/CodeGen/X86/apx push2-pop2.ll push2-pop2-cfi-seh.ll

[X86][APX] Implement push+push2+push pre-alignment strategy for PP2 (#205031)

Replace the dummy "push %rax" stack-alignment padding for APX push2/pop2
(PP2) with a push+push2+push strategy: when an even number of callee-saved
GPRs is involved, a single CSR push provides the 16-byte alignment instead
of a throwaway push %rax, and the remaining registers use push2/pop2. The
padForPush2Pop2 flag and its associated dummy push, SUB/LEA padding, and
SEH_StackAlloc emission in spill/restoreCalleeSavedRegisters are removed.

BuildStackAdjustment now uses NF (no-flags) variants of ADD/SUB, but
only as a smaller replacement for LEA, i.e. only when EFLAGS must be preserved
across the adjustment. When EFLAGS is dead the plain SUB/ADD is kept, which is
  shorter than the EVEX-encoded NF form. The NF opcodes are 64-bit
(SUB64ri32_NF/ADD64ri32_NF), so they are not used for the x32 ABI, and
they are recognized in mergeSPUpdates and the epilogue backward scan.

  Update LIT tests accordingly.

  Assisted-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+142-89llvm/test/CodeGen/X86/apx/push2-pop2.ll
+60-62llvm/test/CodeGen/X86/apx/push2-pop2-cfi-seh.ll
+40-40llvm/test/CodeGen/X86/apx/push2-pop2-cfi-seh-v3.ll
+65-0llvm/test/CodeGen/X86/apx/nf-stackadjust.ll
+32-27llvm/lib/Target/X86/X86FrameLowering.cpp
+18-18llvm/test/CodeGen/X86/apx/pp2-with-stack-clash-protection.ll
+357-2363 files not shown
+376-2639 files

FreeBSD/src 28ae0d8sys/fs/nfs nfs_commonkrpc.c nfs_commonsubs.c

nfs: Fix argument typo to avoid a crash

A typo resulted in the wrong argument for a bytewise
comparison that could result in a crash if
the incorrect argument was not a valid pointer.

This patch fixes the argument.

While investigating this, I noticed that the
correct argument was not being filled in as
required, so this patch fixes that, as well.

Somehow, recovery from a NFSv4.1/4.2 server
crash worked during testing, so this was not
detected.  The bug/patch only affects NFS
client mounts using NFSv4.1/4.2.

PR:     294925

(cherry picked from commit 4d80d4913e79c8b5918b1f04c1c7b38e6c76b9b4)
DeltaFile
+3-2sys/fs/nfs/nfs_commonkrpc.c
+3-0sys/fs/nfs/nfs_commonsubs.c
+6-22 files

FreeBSD/src 8404328sys/fs/nfs nfs_commonkrpc.c nfs_commonsubs.c

nfs: Fix argument typo to avoid a crash

A typo resulted in the wrong argument for a bytewise
comparison that could result in a crash if
the incorrect argument was not a valid pointer.

This patch fixes the argument.

While investigating this, I noticed that the
correct argument was not being filled in as
required, so this patch fixes that, as well.

Somehow, recovery from a NFSv4.1/4.2 server
crash worked during testing, so this was not
detected.  The bug/patch only affects NFS
client mounts using NFSv4.1/4.2.

PR:     294925

(cherry picked from commit 4d80d4913e79c8b5918b1f04c1c7b38e6c76b9b4)
DeltaFile
+3-2sys/fs/nfs/nfs_commonkrpc.c
+3-0sys/fs/nfs/nfs_commonsubs.c
+6-22 files

LLVM/project c3652ballvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/AArch64 icmp-vector-reduce.ll fold-reduce-add-cmp-zero.ll

[VectorCombine] Fold zero tests of or/umax reductions (#205622)

Recognize equality and inequality tests against zero on vector.reduce.or
and vector.reduce.umax. When profitable, replace the scalar reduction
and
compare with a lane-wise comparison followed by an i1 reduce.or or
reduce.and.

Run the existing zero-preserving reduction fold first to retain its more
specific canonicalization opportunities.

Proof: https://alive2.llvm.org/ce/z/pyoTwP
Fixed https://github.com/llvm/llvm-project/issues/205028
DeltaFile
+106-0llvm/test/Transforms/VectorCombine/X86/fold-reduction-zero-test.ll
+46-46llvm/test/Transforms/VectorCombine/RISCV/icmp-vector-reduce.ll
+82-0llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+40-40llvm/test/Transforms/VectorCombine/AArch64/icmp-vector-reduce.ll
+30-30llvm/test/Transforms/VectorCombine/X86/icmp-vector-reduce.ll
+20-20llvm/test/Transforms/VectorCombine/AArch64/fold-reduce-add-cmp-zero.ll
+324-1367 files not shown
+401-21613 files

LLVM/project cc91bbccompiler-rt/lib/instrumentor-tools instrumentor_runtime.h, compiler-rt/lib/instrumentor-tools/flop-counter flop_counter_runtime.cpp CMakeLists.txt

[Instrumentor] Add runtime examples: [1/N] A flop counter (#205698)

This adds a instrumentor-tools folder into compiler RT to showcase use
cases of the instrumentor. The initial example is a program that, via
instrumentation, counts the number of flops performed. Call and
intrinsic support will follow after #198042.

This is the second try with more CMake magic after
https://github.com/llvm/llvm-project/pull/205221 failed on some
platforms.

Partially developped by Claude (AI), tested and verified by me.
DeltaFile
+293-0compiler-rt/lib/instrumentor-tools/instrumentor_runtime.h
+164-0compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_runtime.cpp
+82-0compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
+77-0compiler-rt/lib/instrumentor-tools/flop-counter/README.md
+75-0compiler-rt/test/instrumentor-tools/lit.cfg.py
+49-0compiler-rt/test/instrumentor-tools/simple_flops.c
+740-020 files not shown
+966-126 files

FreeBSD/src fe7426bsys/fs/nfsserver nfs_nfsdport.c

nfs_nfsdport.c: Fix a typo in a KASSERT

Reported by:    rlibby
DeltaFile
+1-1sys/fs/nfsserver/nfs_nfsdport.c
+1-11 files

FreeBSD/src d946a88share/man/man7 build.7

build.7: explain how to build KBI-compatible standalone module

Reviewed by:    imp, kevans
Sponsored by:   The FreeBSD Foundation
MFC after:      3 days
Differential revision:  https://reviews.freebsd.org/D57859
DeltaFile
+40-0share/man/man7/build.7
+40-01 files

OpenBSD/src GxvPzHEusr.sbin/vmd loadfile_elf.c

   vmd(8): prevent OOB reads in 32 and 64-bit ELF loaders.

   Malformed ELF files could cause reading past section-headers.

   For ELF64 files, malformed section metadata could cause out of bound
   reads of heap allocated buffers.

   Reported by Frank Denis.

   Discussed with and "go for it" from mlarkin@
VersionDeltaFile
1.55+17-3usr.sbin/vmd/loadfile_elf.c
+17-31 files

LLVM/project a237019clang/unittests/Index CMakeLists.txt

[clang][index][USR] Fix build issue introduced in #205430 (#205954)

Add clangUnifiedSymbolResolution as dependency of clang index unit test.
DeltaFile
+1-0clang/unittests/Index/CMakeLists.txt
+1-01 files

LLVM/project e2ac42blldb/include/lldb/Utility FileSpec.h, lldb/source/Utility FileSpec.cpp

[lldb] Remove ConstString from FileSpec setters (#205944)
DeltaFile
+0-10lldb/source/Utility/FileSpec.cpp
+0-2lldb/include/lldb/Utility/FileSpec.h
+0-122 files

LLVM/project a9b50ffflang/lib/Lower OpenACC.cpp, flang/test/Lower/OpenACC acc-routine-bind-devtype-filter.f90 acc-routine-bind-clone-signature.f90

[flang][openacc] add acc.routine op for external names added in bind clauses. (#205591)

This adds acc.routine ops for the func.func ops that declare external
functions bound for device specific. This is needed to get the
ACCRoutineToGPUFunc pass to move the function declaration into the
correct region.

This is a follow-up from
[#203088](https://github.com/llvm/llvm-project/pull/203088) which
unblocked the original pass that was stalling bind clauses, but failed
further down the pipeline.
DeltaFile
+135-10flang/lib/Lower/OpenACC.cpp
+53-0flang/test/Lower/OpenACC/acc-routine-bind-devtype-filter.f90
+3-1flang/test/Lower/OpenACC/acc-routine-bind-clone-signature.f90
+2-1flang/test/Lower/OpenACC/acc-routine-bind-devtype-undeclared.f90
+2-1flang/test/Lower/OpenACC/acc-routine-bind-string-undeclared.f90
+2-1flang/test/Lower/OpenACC/acc-routine-bind-undeclared.f90
+197-146 files

LLVM/project d3ce9f0clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering direct-flatten.cir coerce-record-to-record-via-memory.cir

[CIR] Implement Direct+canFlatten in CallConvLowering

ArgKind::Direct with a multi-field coerced struct and the canFlatten flag
means the coerced struct is passed as one scalar wire argument per field.
CallConvLowering was passing it as a single aggregate, ignoring canFlatten.

A new getFlattenedCoercedType helper recognizes the Direct+canFlatten arg
shape.  At the callee, insertArgCoercion replaces the single block argument
with N scalar block args, stores each into an alloca of the coerced struct
type, reloads it, and coerces back to the original argument type when the
coerced struct type differs from the original.  The Ignore-drop loop and
updateArgAttrs account for the N block-argument slots a flattened arg
occupies; updateArgAttrs also shapes them on the sret return path.

At the call site, when the operand type differs from the coerced struct
type the operand is coerced through a memory slot and each field is read
from that slot with cir.get_member + cir.load (via a new emitCoercionToMemory
helper that returns the coerce-slot pointer without loading the whole
aggregate); when the types already match each field is extracted directly

    [7 lines not shown]
DeltaFile
+259-0clang/test/CIR/Transforms/abi-lowering/direct-flatten.cir
+183-36clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+1-1clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
+443-373 files

LLVM/project 6a2bc78clang/unittests/Index CMakeLists.txt

[clang][index][USR] Fix build issue introduced in #205430

Add clangUnifiedSymbolResolution as dependency of clang index unit
test.
DeltaFile
+1-0clang/unittests/Index/CMakeLists.txt
+1-01 files

FreeBSD/ports f0247f2www/librewolf distinfo Makefile, www/librewolf/files patch-python_sites_mach.txt

www/librewolf: Update 152.0.1-1 => 152.0.2-1

Release Notes:
https://www.firefox.com/en-US/firefox/152.0.2/releasenotes/

PR:             296265
Sponsored by:   UNIS Labs
MFH:            2026Q2

(cherry picked from commit 9411dbbc0e8003216b1328fb85e0704c39b6cded)
DeltaFile
+0-32www/librewolf/files/patch-python_sites_mach.txt
+3-3www/librewolf/distinfo
+1-1www/librewolf/Makefile
+4-363 files

LLVM/project 6839533libcxx/include version, libcxx/include/__expected expected.h

Revert "[libc++]  P3798R1: The unexpected in std::expected (#204826)" (#205597)

Reverts 45a65bb48b5925707f43d08e30df2263a5e4e268.

Currently, there is no consensus among LWG and standard library
maintainers that P3798R1 should be applied as a Defect Report. So it is
better to revert the paper application for now and then reapply it as an
addition in C++29 when C++29 mode is ready.
DeltaFile
+0-42libcxx/test/std/utilities/expected/expected.void/observers/has_error.pass.cpp
+0-42libcxx/test/std/utilities/expected/expected.expected/observers/has_error.pass.cpp
+4-4libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
+4-4libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+0-4libcxx/include/__expected/expected.h
+2-2libcxx/include/version
+10-985 files not shown
+13-10411 files

FreeBSD/ports 9411dbbwww/librewolf distinfo Makefile, www/librewolf/files patch-python_sites_mach.txt

www/librewolf: Update 152.0.1-1 => 152.0.2-1

Release Notes:
https://www.firefox.com/en-US/firefox/152.0.2/releasenotes/

PR:             296265
Sponsored by:   UNIS Labs
MFH:            2026Q2
DeltaFile
+0-32www/librewolf/files/patch-python_sites_mach.txt
+3-3www/librewolf/distinfo
+1-1www/librewolf/Makefile
+4-363 files

OpenBSD/src poHzJc5usr.bin/tmux options-table.c

   Make the default colours more conservative, its really the greys that
   matter.
VersionDeltaFile
1.222+11-11usr.bin/tmux/options-table.c
+11-111 files

LLVM/project 5493585llvm/lib/Transforms/Scalar GVNSink.cpp

[llvm][GVNSink] Avoid non-determistic iteration order over NeededPHIs

The iteration order of DenseSet is not guaranteed, which affects the
output of code generated with GVNSink enabled. This can cause code to be
emitted in differing order, affect section ordering and in some cases
was reported to sometimes result in larger binaries due to increased
padding between sections.

This patch addresses this by using SetVector, which has a deterministic
iteration order.
DeltaFile
+3-4llvm/lib/Transforms/Scalar/GVNSink.cpp
+3-41 files

LLVM/project cd50ce0clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering direct-flatten.cir coerce-record-to-record-via-memory.cir

[CIR] Implement Direct+canFlatten in CallConvLowering

ArgKind::Direct with a multi-field coerced struct and the canFlatten flag
means the coerced struct is passed as one scalar wire argument per field.
CallConvLowering was passing it as a single aggregate, ignoring canFlatten.

A new getFlattenedCoercedType helper recognizes the Direct+canFlatten arg
shape.  At the callee, insertArgCoercion replaces the single block argument
with N scalar block args, stores each into an alloca of the coerced struct
type, reloads it, and coerces back to the original argument type when the
coerced struct type differs from the original.  The Ignore-drop loop and
updateArgAttrs account for the N block-argument slots a flattened arg
occupies; updateArgAttrs also shapes them on the sret return path.

At the call site, when the operand type differs from the coerced struct
type the operand is coerced through a memory slot and each field is read
from that slot with cir.get_member + cir.load (via a new emitCoercionToMemory
helper that returns the coerce-slot pointer without loading the whole
aggregate); when the types already match each field is extracted directly

    [5 lines not shown]
DeltaFile
+183-36clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+211-0clang/test/CIR/Transforms/abi-lowering/direct-flatten.cir
+1-1clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
+395-373 files

LLVM/project f5d5ff9flang/docs OpenACC-extensions.md, flang/include/flang/Semantics semantics.h

[flang][semantics][OpenACC] Warn for DEFAULT(NONE) scalars by default (#205683)

Change OpenACC `DEFAULT(NONE)` scalar handling to use the
pre-OpenACC-3.2 scalar behavior by default while emitting a warning.
Scalars referenced in a `default(none)` compute region without an
explicit data clause now warn by default instead of erroring. Arrays and
other non-scalars still error under `default(none)`.

Users can opt into OpenACC 3.2 strict scalar behavior with:
`-fopenacc-default-none-scalars-strict` and the default scalar warning
can be suppressed with: `-Wno-openacc-default-none-scalars-strict`
DeltaFile
+13-17flang/docs/OpenACC-extensions.md
+28-0flang/unittests/Frontend/CompilerInstanceTest.cpp
+15-12flang/test/Semantics/OpenACC/acc-default-none-scalars-strict.f90
+12-12flang/test/Semantics/OpenACC/acc-default-none-scalars.f90
+9-0flang/include/flang/Semantics/semantics.h
+7-2flang/lib/Frontend/CompilerInvocation.cpp
+84-437 files not shown
+97-5013 files

OpenBSD/src AaYjnpiusr.bin/tmux options-table.c colour.c

   Add nicer dark and light colour sets (themes) used on terminals with 256
   or more colours. Currently based these on emacs but they could change.
   Terminals with fewer colours use the ANSI colours. A new "theme" option
   overrides the detected theme (set to "terminal" to go back to ANSI
   colours).
VersionDeltaFile
1.221+198-24usr.bin/tmux/options-table.c
1.33+94-2usr.bin/tmux/colour.c
1.480+65-1usr.bin/tmux/server-client.c
1.1104+52-1usr.bin/tmux/tmux.1
1.475+30-1usr.bin/tmux/tty.c
1.1372+22-1usr.bin/tmux/tmux.h
+461-302 files not shown
+486-378 files

FreeBSD/ports b60f4fbnet/bsdec2-image-upload distinfo Makefile

net/bsdec2-image-upload: update to 1.4.11
DeltaFile
+3-3net/bsdec2-image-upload/distinfo
+1-1net/bsdec2-image-upload/Makefile
+4-42 files

FreeBSD/src 240330alib/libusb libusb20_ugen20.c

libusb: don't treat EINVAL from USB_FS_COMPLETE as device detach

ugen20_process() treats any non-EBUSY errno returned by USB_FS_COMPLETE
as device detach and returns LIBUSB20_ERROR_OTHER. This causes libusb10
to set device_is_gone and fail all subsequent transfer with
LIBUSB_ERROR_NO_DEVICE.

However, USB_FS_COMPLETE can also return EINVAL when a completion
references an endpoint that no longer exists, for example after
SET_INTERFACE or SET_CONFIG removes and recreates endpoints. This is a
transient condition and does not indicate device detach.

Treat EINVAL the same as EBUSY and stop draining completions. This
prevents a guest selecting an isochronous streaming altsetting from
permanently breaking the passed-through device.

Reviewed by:    bapt
Event:          Halifax Hackathon 202606
Location:       Peggy's Cove Rock

    [2 lines not shown]
DeltaFile
+10-1lib/libusb/libusb20_ugen20.c
+10-11 files

LLVM/project c580406clang/lib/CIR/CodeGen CIRGenFunction.cpp CIRGenModule.cpp, clang/test/CIR/CodeGen goto-address-label-table.c label-values.c

[CIR] Wire const goto labels into indirect branch (#201644)

A computed goto through a constant dispatch table -- the GNU static
dispatch-table idiom `static const void *tbl[] = {&&L1, &&L2}; goto *tbl[i];`
-- reached `errorNYI("Indirect goto without a goto block")` in
`emitIndirectGotoStmt`. #203644 emits the label-address constant (the
value-like `#cir.block_addr_info`) into the table, but it takes a label's
address in a constant context without registering the label as address-taken,
so no indirect-goto block exists for the following `goto *tbl[i]` to branch to.
(#203644 landed the constant attribute, its lowering, and the GotoSolver label
retention; this is the remaining dispatch wiring.)

`VisitAddrLabelExpr` in the constant emitter now records each label via
`takeAddressOfConstantLabel`, which instantiates the indirect-goto block and
tracks the label; `finishIndirectBranch` then adds those labels as
`cir.indirect_br` successors alongside the existing op-form labels. A label
named more than once in a table is kept as a distinct successor each time, to
match classic codegen.


    [8 lines not shown]
DeltaFile
+104-0clang/test/CIR/CodeGen/goto-address-label-table.c
+23-29clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+9-38clang/test/CIR/CodeGen/label-values.c
+0-23clang/lib/CIR/CodeGen/CIRGenModule.cpp
+12-4clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
+9-4clang/lib/CIR/CodeGen/CIRGenFunction.h
+157-983 files not shown
+162-1269 files

LLVM/project 7cb370dlldb/include/lldb/Breakpoint BreakpointName.h, lldb/source/Target Target.cpp

[lldb] Replace ConstString with std::string in BreakpointName (#205910)
DeltaFile
+9-10lldb/include/lldb/Breakpoint/BreakpointName.h
+3-2lldb/source/Target/Target.cpp
+12-122 files

LLVM/project 0c4cc9fclang/include/clang/Basic CodeGenOptions.def, clang/include/clang/Options Options.td

Revert "[Clang] Optionally use NewPM to run CodeGen Pipeline" (#205943)

Reverts llvm/llvm-project#205928

Is missing dependencies in a shared libraries build. Will investigate
offline.
DeltaFile
+17-77clang/lib/CodeGen/BackendUtil.cpp
+0-9clang/test/CodeGen/X86/newpm.c
+0-8clang/include/clang/Options/Options.td
+0-1clang/include/clang/Basic/CodeGenOptions.def
+17-954 files

LLVM/project eea0690llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 copyable-reduced-erased.ll

[SLP]Fix crash erasing reduced value extract still used by reduction

A reduced value vectorized in an operand subtree is replaced by an
extractelement that can be excluded from another reduction group's
candidates as incompatible, yet it is still consumed by the final
reduction. Keep such excluded extracts externally used so they are not
erased while vectorizing that group.

Fixes #205886

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/205942
DeltaFile
+64-0llvm/test/Transforms/SLPVectorizer/X86/copyable-reduced-erased.ll
+17-5llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+81-52 files