LLVM/project b7ae853 — llvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/InstSimplify known-non-zero.ll

[ValueTracking] Handle trunc to i1 condition in isKnownNonNullFromDominatingCondition (#230925)

Proof: https://alive2.llvm.org/ce/z/hnLV-e
DeltaFile
+41-0llvm/test/Transforms/InstSimplify/known-non-zero.ll
+10-7llvm/lib/Analysis/ValueTracking.cpp
+51-72 files

LLVM/project 376a07d — llvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/InstSimplify assume-non-zero.ll

[ValueTracking] Handle trunc to i1 condition in isKnownNonZeroFromAssume (#230919)

Proof: https://alive2.llvm.org/ce/z/YFN6qu
DeltaFile
+4-0llvm/lib/Analysis/ValueTracking.cpp
+1-2llvm/test/Transforms/InstSimplify/assume-non-zero.ll
+5-22 files

LLVM/project 34c4aa6 — llvm/test/CodeGen/AMDGPU flat-atomicrmw-fmin.ll flat-atomicrmw-fmax.ll

AMDGPU: Fix true16 build_vector (0, x) pattern using a 16-bit shift operand

The real true16 pattern for (build_vector 0, VGPR_16:$x) fed the 16-bit
register directly to V_LSHLREV_B32, which takes a 32-bit operand. Widen
it with a REG_SEQUENCE first. This avoids redundant 16-bit moves in
SelectionDAG, and fixes a GlobalISel selection failure when the 16-bit
input is a G_TRUNC of a 32-bit value, as the shift's operand class
constrained the trunc result to vgpr_32.

I also don't know why this pattern is overcomplicating this. I would expect
true16 to literally translate build_vector to reg_sequence plus a materialize
of the 0.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2,151-2,719llvm/test/CodeGen/AMDGPU/minimumnum.bf16.ll
+2,151-2,719llvm/test/CodeGen/AMDGPU/maximumnum.bf16.ll
+1,582-1,595llvm/test/CodeGen/AMDGPU/float-to-arbitrary-fp-widen.ll
+1,048-512llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
+1,048-512llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
+1,048-512llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
+9,028-8,56926 files not shown
+18,251-14,00732 files

LLVM/project b6c7cf8 — llvm/lib/CodeGen/SelectionDAG LegalizeDAG.cpp, llvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp BUFInstructions.td

AMDGPU: Promote 16-bit atomic load/store to extending i32

16-bit atomic loads are really extending loads into a 32-bit register,
and 16-bit atomic stores are truncating stores of a 32-bit value. Without
real true16, promote i16, f16 and bf16 atomic load and store to i32 as
any-extending loads and truncating stores, matching how regular loads
and stores are handled. With real true16, select all 16-bit types
directly using the type-generic atomic patterns, as is done for the
wider types.

Teach LegalizeDAG to promote ATOMIC_LOAD and ATOMIC_STORE to a wider
integer type, preserving the extension type. The i16-only atomic
patterns are now only needed for real true16, so remove the rest.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+35-26llvm/lib/Target/AMDGPU/DSInstructions.td
+14-21llvm/lib/Target/AMDGPU/FLATInstructions.td
+28-0llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+0-13llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+2-9llvm/lib/Target/AMDGPU/BUFInstructions.td
+4-5llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+83-742 files not shown
+91-808 files

LLVM/project 88c3bf7 — clang/test/SemaCXX warn-unsafe-buffer-usage-main-argv.cpp

Fix test added in #229871 to work in C++20 mode. (#230875)

Our downstream compiler defaults to c++20 mode for the compiler, so this
newly added test from #229871 failed because in C++20 mode there are a
different set of warnings/notes emitted by the compiler.

This PR adds testing for both c++17 and c++20 modes and adds the
appropriate checks for both modes.
DeltaFile
+21-8clang/test/SemaCXX/warn-unsafe-buffer-usage-main-argv.cpp
+21-81 files

NetBSD/pkgsrc-wip 6e69ce9 — . TODO

TODO: + whisper.cpp-1.9.5.
DeltaFile
+1-0TODO
+1-01 files

LLVM/project 37dcd2c — llvm/lib/Transforms/Vectorize VPlan.h

[VPlan] Remove unused recipe constructor overloads (NFC) (#230857)

Remove the VPSingleDefRecipe constructors without a result type (taking
only a DebugLoc, or an underlying Value and a DebugLoc) and the
VPRecipeWithIRFlags constructor without a result type. All recipes now
pass an explicit result type, so these overloads have no users.
DeltaFile
+0-13llvm/lib/Transforms/Vectorize/VPlan.h
+0-131 files

OPNSense/core 212185a — src/etc/inc interfaces.inc

interfaces: for igb vlans it seems they are always up even if the parent is down

PR: https://forum.opnsense.org/index.php?topic=52824.0
DeltaFile
+4-2src/etc/inc/interfaces.inc
+4-21 files

LLVM/project e5381bf — llvm/include/llvm/CodeGen TargetLoweringObjectFileImpl.h, llvm/include/llvm/Target TargetLoweringObjectFile.h

CodeGen: Merge TargetLoweringObjectFile::getModuleMetadata into Initialize (#226837)

getModuleMetadata had a single caller, which invoked it immediately
after Initialize. Pass the module to Initialize and fold it in.

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+36-26llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+21-14llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
+15-17llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
+10-9llvm/include/llvm/Target/TargetLoweringObjectFile.h
+7-6llvm/lib/Target/TargetLoweringObjectFile.cpp
+3-8llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
+92-8032 files not shown
+180-14238 files

LLVM/project 93a5597 — llvm/lib/IR Instructions.cpp, llvm/test/Verifier bitcast-byte-constexpr-neg.ll bitcast-byte-width-neg.ll

[Verifier][IR] Make sure bitcast doesn't change type size (#230914)

`CastInst::castIsValid` doesn't check whether the source type and
destination type share the same size for bitcast between pointer and
byte types. Since DL is unavailable in this function, we perform the
DL-aware size check in the verifier. `CastInst::castIsValid` also
rejects unsized and target extension types to avoid assertions in
`getTypeSize`.

The tests are generated by DeepSeek-V4.1-Flash. Without this check llubi
will assert in `fromBytes/toBytes`.
DeltaFile
+42-0llvm/test/Verifier/bitcast-unsupported-type-neg.ll
+25-0llvm/test/Verifier/bitcast-byte-width-pos.ll
+22-0llvm/test/Verifier/bitcast-byte-scalable-neg.ll
+16-0llvm/test/Verifier/bitcast-byte-width-neg.ll
+9-2llvm/lib/IR/Instructions.cpp
+10-0llvm/test/Verifier/bitcast-byte-constexpr-neg.ll
+124-21 files not shown
+132-47 files

LLVM/project a408737 — llvm/test/tools/llubi controlflow.ll, llvm/tools/llubi/lib Interpreter.cpp

[llubi] Reset retval for noop inline asm (#230849)

When a call is followed by a call to noop inline asm, `setResult` inside
`returnFromCallee` will reuse the previous return value (moved) and
trigger assertions.

The test is generated by DeepSeek-V4.1-Flash.
DeltaFile
+3-0llvm/test/tools/llubi/controlflow.ll
+1-0llvm/tools/llubi/lib/Interpreter.cpp
+4-02 files

LLVM/project d7bb842 — llvm/test/tools/llubi non_byte_size_ptr.ll, llvm/tools/llubi/lib Context.cpp

[llubi] Use correct tag bitwidth to recover provenances (#230852)

Tag always uses the pointer width rather than the padded one. Previously
the tag lookup always missed due to the width mismatch.

The test is generated by DeepSeek-V4.1-Flash.
DeltaFile
+24-0llvm/test/tools/llubi/non_byte_size_ptr.ll
+1-1llvm/tools/llubi/lib/Context.cpp
+25-12 files

LLVM/project 86ec2f8 — llvm/test/tools/llubi bitinsert_bitextract_le.ll bitinsert_bitextract_be.ll, llvm/tools/llubi/lib Context.h Context.cpp

[llubi] Add support for `bitinsert` and `bitextract`
DeltaFile
+78-0llvm/test/tools/llubi/bitinsert_bitextract_le.ll
+78-0llvm/test/tools/llubi/bitinsert_bitextract_be.ll
+29-0llvm/tools/llubi/lib/Interpreter.cpp
+19-0llvm/tools/llubi/lib/Context.cpp
+7-0llvm/tools/llubi/lib/Context.h
+211-05 files

LLVM/project 762c28a — llvm/test/tools/llubi bitcast_le.ll bitcast_be.ll, llvm/tools/llubi/lib Context.cpp

[llubi] Fix wrong assert when writing `poison` at an unaligned bit offset (#230819)

Writing `poison` that starts at a bit offset not a multiple of 8 and
spans more than one byte could trigger an assert, even though each write
stayed within a single byte.

- `Context::toBytes` marks bits as `poison` one byte at a time, from
`OffsetInBits + I`.
- The assert checked the bits from `OffsetInBits` instead, missing the
offset `I`.
DeltaFile
+5-4llvm/tools/llubi/lib/Context.cpp
+4-0llvm/test/tools/llubi/bitcast_le.ll
+4-0llvm/test/tools/llubi/bitcast_be.ll
+13-43 files

LLVM/project 964ed3b — libcxx/include/__condition_variable condition_variable.h, libcxx/test/std/thread/thread.condition/thread.condition.condvar wait_for_pred.pass.cpp wait_for.pass.cpp

[libc++][chrono][threading] Implement LWG 3504: `condition_variable::wait_for` is overspecified (#222443)

Implement the relative-to-absolute conversion mandated by LWG 3504 using
`ceil<steady_clock::duration>` to avoid precision loss with
floating-point
durations.

- Add internal `chrono::__ceil` (usable in all dialects) and make
`chrono::ceil`
  forward to it.
- Introduce `__rel_to_abs` helper and update all `wait_for` overloads on
  `condition_variable` / `condition_variable_any`.
- Move the previous nanosecond conversion into `__do_timed_wait` to 
  avoid recursion after the change.
- Add regression tests for floating-point durations.

Fixes #189807
DeltaFile
+29-25libcxx/include/__condition_variable/condition_variable.h
+24-0libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
+24-0libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+16-0libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
+15-0libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
+15-0libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
+123-253 files not shown
+136-339 files

FreeNAS/freenas 90d53b5 — src/middlewared/middlewared/plugins/iscsi_ extents.py

Skip zvol snapshot extents in iscsi.extent.pool_import

## Problem
iSCSI extents can be backed by a read-only zvol snapshot. `pool_import` passed those paths to `zfs.resource.list_impl`, which rejects any path containing `@`, so the `pool.post_import` hook failed and volthreading was never turned off for any zvol extent on the imported pool (including at boot).

## Solution
Leave snapshot paths out of the query, the same way extent create/update/delete already do. Snapshots don't have a volthreading property, so there is nothing to set on them anyway.
DeltaFile
+1-0src/middlewared/middlewared/plugins/iscsi_/extents.py
+1-01 files

LLVM/project 3c8fdcb — llvm/include/llvm/Analysis TargetTransformInfoImpl.h TargetTransformInfo.h, llvm/lib/Analysis TargetTransformInfo.cpp

[Analysis][ARM] Remove unused getNumBytesToPadGlobalArray (NFC) (#230912)

The last caller of TargetTransformInfo::getNumBytesToPadGlobalArray was
removed on June 30, 2025 in commit
183acdd27985afd332463e3d9fd4a2ca46d85cf1, leaving
TargetTransformInfoImplBase::getNumBytesToPadGlobalArray,
ARMTTIImpl::getNumBytesToPadGlobalArray, and the command-line option
UseWidenGlobalArrays unused as well.

Assisted-by: Antigravity
DeltaFile
+0-33llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
+0-6llvm/lib/Analysis/TargetTransformInfo.cpp
+0-5llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+0-5llvm/include/llvm/Analysis/TargetTransformInfo.h
+0-3llvm/lib/Target/ARM/ARMTargetTransformInfo.h
+0-525 files

OpenBSD/ports DLFkSzR — sysutils/moor modules.inc Makefile

   sysutils/moor: Update to 2.19.3

   From Maintainer Lydia Sobot, thanks
VersionDeltaFile
1.16+6-6sysutils/moor/distinfo
1.9+1-1sysutils/moor/modules.inc
1.16+1-1sysutils/moor/Makefile
+8-83 files

LLVM/project ee9bb53 — llvm/lib/CodeGen TwoAddressInstructionPass.cpp, llvm/test/CodeGen/AMDGPU twoaddr-insert-subreg-undef.mir

TwoAddressInstructions: Keep undef INSERT_SUBREG lanes defined

%reg = INSERT_SUBREG undef %reg, %subreg, subidx defines all of %reg, so
reading the lanes outside subidx afterwards is valid. Rewriting it to
undef %reg.subidx = COPY %subreg narrows the definition to subidx and
leaves those reads without a live subrange, failing the "No live subrange
at use"
machine verifier check.

When a subrange outside subidx is still live past the def, insert an
IMPLICIT_DEF of the full register and drop the undef flag. In the common
case, where the lanes the INSERT_SUBREG left undefined are dead, keep the
undef flag and avoid an IMPLICIT_DEF that survives to the end of codegen
when the COPY is not coalesced.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply at anthropic.com>
DeltaFile
+55-0llvm/test/CodeGen/AMDGPU/twoaddr-insert-subreg-undef.mir
+28-7llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
+83-72 files

FreeBSD/ports ab093e4 — misc/py-comfy-kitchen Makefile distinfo

misc/py-comfy-kitchen: update 0.2.33 → 0.2.37
DeltaFile
+3-3misc/py-comfy-kitchen/distinfo
+1-1misc/py-comfy-kitchen/Makefile
+4-42 files

FreeBSD/ports cb7ba78 — misc/comfyui distinfo Makefile

misc/comfyui: update 0.37.0 → 0.39.0
DeltaFile
+36-2misc/comfyui/pkg-plist
+7-7misc/comfyui/Makefile
+3-3misc/comfyui/distinfo
+46-123 files

FreeBSD/ports e81a3ac — misc/py-comfy-aimdo Makefile distinfo

misc/py-comfy-aimdo: update 0.5.3 → 0.5.5
DeltaFile
+3-3misc/py-comfy-aimdo/distinfo
+1-1misc/py-comfy-aimdo/Makefile
+4-42 files

FreeBSD/ports d390430 — misc/comfy-cli distinfo Makefile

misc/comfy-cli: update 1.20.0 → 1.22.0
DeltaFile
+9-6misc/comfy-cli/Makefile
+3-3misc/comfy-cli/distinfo
+12-92 files

FreeBSD/ports a0b5b06 — misc/py-comfyui-embedded-docs Makefile distinfo

misc/py-comfyui-embedded-docs: update 0.5.12 → 0.5.13
DeltaFile
+3-3misc/py-comfyui-embedded-docs/distinfo
+1-1misc/py-comfyui-embedded-docs/Makefile
+4-42 files

FreeBSD/ports 8a12a31 — devel/py-stringzilla Makefile distinfo, devel/stringzilla pkg-plist distinfo

devel/{,py-}stringzilla: update 5.1.2 → 5.3.0
DeltaFile
+3-3devel/stringzilla/pkg-plist
+3-3devel/stringzilla/distinfo
+3-3devel/py-stringzilla/distinfo
+4-2devel/stringzilla/Makefile
+2-2devel/py-stringzilla/Makefile
+15-135 files

FreeBSD/ports fb9134a — misc/py-comfyui-workflow-templates-core Makefile distinfo

misc/py-comfyui-workflow-templates-core: update 0.3.361 → 0.3.369
DeltaFile
+3-3misc/py-comfyui-workflow-templates-core/distinfo
+1-1misc/py-comfyui-workflow-templates-core/Makefile
+4-42 files

FreeBSD/ports 20c0cd0 — misc/py-comfyui-workflow-templates-json Makefile distinfo

misc/py-comfyui-workflow-templates-json: update 0.1.96 → 0.1.104
DeltaFile
+3-3misc/py-comfyui-workflow-templates-json/distinfo
+1-1misc/py-comfyui-workflow-templates-json/Makefile
+4-42 files

FreeBSD/ports 715bfbc — misc/py-comfyui-workflow-templates distinfo Makefile

misc/py-comfyui-workflow-templates: update 0.11.70 → 0.11.78
DeltaFile
+4-3misc/py-comfyui-workflow-templates/Makefile
+3-3misc/py-comfyui-workflow-templates/distinfo
+7-62 files

FreeBSD/ports 6d5a696 — misc/py-comfyui-frontend-package Makefile distinfo

misc/py-comfyui-frontend-package: update 1.54.7 → 1.55.16
DeltaFile
+3-3misc/py-comfyui-frontend-package/distinfo
+1-1misc/py-comfyui-frontend-package/Makefile
+4-42 files

LLVM/project baf8368 — llvm/lib/CodeGen MachineBasicBlock.cpp, llvm/test/CodeGen/PowerPC common-chain.ll

CodeGen: Remove stale last-block case when splitting a critical edge

Before f264f9ad7df5, a new block at the end of the function began at the
old end index, so the isLastMBB case had to extend live-out intervals
over it. Now the new block always ends at the old end index, so they
already cover it. The extension became a no-op, and the case also
skipped trimming registers not live into the successor, leaving a dead
segment.

block-placement.ll needs a volatile store to keep its nested loop.
common-chain.ll gets shrink-wrapped.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+89-76llvm/test/CodeGen/PowerPC/common-chain.ll
+7-29llvm/lib/CodeGen/MachineBasicBlock.cpp
+36-0llvm/test/CodeGen/X86/phi-elimination-split-critical-edge-last-block.mir
+1-0llvm/test/CodeGen/X86/block-placement.ll
+133-1054 files