LLVM/project 6964b69 — llvm/lib/Analysis ValueTracking.cpp

[ValueTracking][NFC] Check whether assume and context in isValidAssumeForContext are equal first (#242796)

This check is really cheap, so we should do it at the start.
DeltaFile
+5-6llvm/lib/Analysis/ValueTracking.cpp
+5-61 files

LLVM/project a55e644 — llvm/test/CodeGen/AArch64/GlobalISel direct-hasoneuse-postlegalizer-debug.mir

[AArch64][GlobalISel] Require asserts in direct-hasoneuse-postlegalizer-debug.mir (#242794)

The test selects combiner rules by name with
`-aarch64postlegalizercombiner-only-enable-rule`. Rule names are only
recognized in builds with assertions, so builders without them fail with
"Invalid rule identifier", for example
https://lab.llvm.org/buildbot/#/builders/11/builds/53689.

Fixes a test failure introduced by #237644.
DeltaFile
+1-0llvm/test/CodeGen/AArch64/GlobalISel/direct-hasoneuse-postlegalizer-debug.mir
+1-01 files

FreeBSD/ports 4386ff6 — net-p2p/gtk-gnutella Makefile

net-p2p/gtk-gnutella: unbreak the build on 32-bit architectures

Turns out this version suffers from the same issue as 1.2.1 I have
fixed before; reapply lost part of commit 9a32701b738f as a remedy.

Fixes:  676a7a30328b
DeltaFile
+4-0net-p2p/gtk-gnutella/Makefile
+4-01 files

FreeBSD/ports 1a3049d — www/mod_http2 Makefile

www/mod_tls: Fix DEPRECATED message

Reported by:    ronald@
DeltaFile
+1-1www/mod_http2/Makefile
+1-11 files

FreeBSD/ports 3b16d2a — www/nextcloud-memories Makefile distinfo

www/nextcloud-memories: Update to 11.1.4
DeltaFile
+3-3www/nextcloud-memories/distinfo
+1-1www/nextcloud-memories/Makefile
+4-42 files

OPNSense/plugins af4166a — security/intrusion-detection-content-et-open/src/opnsense/scripts/suricata/metadata/rules et-open-extra.xml

security/intrusion-detection-content-et-open: switch to suricata-8.0 ruleset and add new ET categories (#5927)
DeltaFile
+7-2security/intrusion-detection-content-et-open/src/opnsense/scripts/suricata/metadata/rules/et-open-extra.xml
+7-21 files

LLVM/project 9f65a28 — llvm/include/llvm/CodeGen/GlobalISel CombinerHelper.h, llvm/include/llvm/Target/GlobalISel Combine.td

[GlobalISel][AArch64] Fold vector multiplication by 0/1 masks into AND (#240134)

Multiplying a vector by a constant whose elements are all 0 or 1 only
keeps or clears lanes, so it can be done with an AND mask, as
SelectionDAG does. This adds a generic combine,
`mul_by_zero_one_vector`: `(mul x, <0/1...>) -> (and x, <0/-1...>)`, for
either operand order. All-zero and all-one vectors are left to the
existing combines.

```
define <2 x i32> @test(<2 x i32> %a) {
  %r = mul <2 x i32> <i32 1, i32 0>, %a
  ret <2 x i32> %r
}
```

Before:
```
adrp x8, .LCPI1_0

    [7 lines not shown]
DeltaFile
+198-0llvm/test/CodeGen/AArch64/GlobalISel/postlegalizercombiner-mul-identity.mir
+41-0llvm/test/CodeGen/AArch64/GlobalISel/combine-mul-one-zero-vector.ll
+18-15llvm/test/CodeGen/AArch64/combine-sdiv.ll
+10-0llvm/include/llvm/Target/GlobalISel/Combine.td
+9-0llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
+4-0llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
+280-151 files not shown
+281-157 files

LLVM/project 4070e41 — mlir/test/Dialect/SPIRV/Transforms vce-deduction.mlir, mlir/tools/mlir-tblgen SPIRVUtilsGen.cpp

[mlir][SPIR-V] Collect availability of optional enum attributes (#240532)

The availability generator skipped OptionalAttr enums, so update-vce
gave ImageRead with Nontemporal v1.0 instead of v1.6
DeltaFile
+20-10mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
+13-0mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
+33-102 files

LLVM/project c4e4af6 — llvm/lib/Analysis BasicAliasAnalysis.cpp, llvm/test/Analysis/BasicAA linear-expr-offset-overflow.ll

[BasicAA] Drop nsw when folding an overflowing constant offset (#242541)

Folding the constants in a chain of `nsw` adds or subtracts can overflow
even when the operations themselves are defined. Keeping `nsw` on the
resulting linear expression lets BasicAA return `NoAlias` for overlapping
accesses. Check the folded offset for signed overflow and drop `nsw` if
it wraps.

Split from #241380.

Proofs: https://alive2.llvm.org/ce/z/nq85ze

Assisted-by: Claude Code
Assisted-by: OpenAI Codex
DeltaFile
+54-0llvm/test/Analysis/BasicAA/linear-expr-offset-overflow.ll
+7-4llvm/lib/Analysis/BasicAliasAnalysis.cpp
+61-42 files

LLVM/project 59202a6 — clang/lib/CIR/Dialect/Transforms FlattenCFG.cpp, clang/test/CIR/Transforms flatten-cleanup-scope-multi-exit.cir

[CIR] Keep volatile and atomic return loads before cleanups

When FlattenCFG routes a cir.return through a cleanup, it sinks a load
of an entry-block alloca that feeds the return into the block after the
cleanup. For a volatile or atomic load this moved the access past the
cleanup code. Such a load is now spilled to a temporary before the
cleanup, like any other return operand.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+27-0clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
+4-0clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+31-02 files

LLVM/project 3df9266 — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp CIRMemorySlot.cpp

[CIR][NFC] Add isVolatileOrAtomic() to cir.load and cir.store

Several places spelled out getIsVolatile() || getMemOrder() to decide
whether a load or store must stay as written. Name that check once on
both ops and use it in the load effects, mem2reg, CIRSimplify and the
ABI rewriter.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+13-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-4clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
+2-3clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
+1-2clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+1-1clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+19-105 files

LLVM/project 0ca7ba1 — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Report side effects of volatile loads and memory asm operands (#242691)

Dead code elimination erased some unused CIR ops that have side effects,
because their declared memory effects were too weak:

- `cir.load`, `cir.get_bitfield` and `cir.matrix.column_major_load`
declared only a read of their address, so an unused volatile or atomic
load was erased. A volatile or atomic load now also reads and writes
unknown memory, as `llvm.load` does.
- `cir.asm` reported nothing for a memory operand such as `"=*m"`, so an
asm whose only output is in memory was erased. It now reads and writes
each memory operand. The new `InlineAsmOp::isMemoryOperand` identifies
those operands, and the LLVM lowering uses it too.
- `cir.asm` now has a verifier: `operand_attrs` needs one entry per
operand, either a unit attribute on a pointer operand (a memory operand)
or an empty dictionary.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+62-13clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+48-0clang/test/CIR/Transforms/side-effects-dce.cir
+35-10clang/include/clang/CIR/Dialect/IR/CIROps.td
+36-0clang/test/CIR/IR/invalid-inline-asm.cir
+4-13clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+185-365 files

LLVM/project 580b424 — llvm/include/llvm/ADT ImmutableSet.h, llvm/include/llvm/Analysis ScalarEvolution.h

[llvm] Remove unused private type aliases (NFC) (#242787)

ImutAVLTree::CanonLinks: This type alias was added on July 14, 2026 in
commit 3d7535a03c1a036204a5347a79e9f66eb96ce4bc without any uses.

SCEVUnionPredicate::PredicateMap: The last use was removed on February
11, 2022 in commit c02deae18cb26bb6d2d8c8a2fa1dd8b7e0dfda44.

MIR2VecVocabLegacyAnalysis::VocabVector: The last use was removed on
October 22, 2025 in commit c70d0812ba17953b3e405eb2b01dd892b94585f1.

xray::Trace::citerator: The last uses were removed on September 20, 2018
in commit 1f6020798493b536304dd36b393682b062ef1fbd.

ConstantUniqueMap::MapInfo::ConstantClassInfo: The last use was removed
on June 6, 2026 in commit 3232b4d0e07802a1852874910815489dc3e4774a.

Assisted-by: Antigravity
DeltaFile
+0-3llvm/lib/IR/ConstantsContext.h
+0-3llvm/include/llvm/Analysis/ScalarEvolution.h
+0-3llvm/include/llvm/ADT/ImmutableSet.h
+0-2llvm/include/llvm/XRay/Trace.h
+0-1llvm/include/llvm/CodeGen/MIR2Vec.h
+0-125 files

LLVM/project baaed9c — llvm/lib/Analysis ScalarEvolution.cpp

[Analysis] Avoid repeated hash lookups (NFC) (#242786)

Assisted-by: Antigravity
DeltaFile
+15-13llvm/lib/Analysis/ScalarEvolution.cpp
+15-131 files

LLVM/project be27f78 — clang/lib/CIR/Dialect/Transforms FlattenCFG.cpp, clang/test/CIR/Transforms flatten-cleanup-scope-multi-exit.cir

[CIR] Keep volatile and atomic return loads before cleanups

When FlattenCFG routes a cir.return through a cleanup, it sinks a load
of an entry-block alloca that feeds the return into the block after the
cleanup. For a volatile or atomic load this moved the access past the
cleanup code. Such a load is now spilled to a temporary before the
cleanup, like any other return operand.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+27-0clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
+4-0clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+31-02 files

LLVM/project f425850 — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp CIRMemorySlot.cpp

[CIR][NFC] Add isVolatileOrAtomic() to cir.load and cir.store

Several places spelled out getIsVolatile() || getMemOrder() to decide
whether a load or store must stay as written. Name that check once on
both ops and use it in the load effects, mem2reg, CIRSimplify and the
ABI rewriter.

Assisted-by: Claude Code (claude-opus-5-5).
DeltaFile
+13-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+2-4clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
+2-3clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
+1-2clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+1-1clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+19-105 files

LLVM/project db5b43f — llvm/lib/Analysis BasicAliasAnalysis.cpp, llvm/test/Analysis/BasicAA separate_storage.ll

[BasicAA] Restrict cross-iteration separate_storage hints (#241381)

A `separate_storage` assumption applies to its operand values when it
executes. If the operands change across loop iterations, it does not
imply that an operand from one iteration is separate from the other
operand in another iteration. BasicAA can nevertheless use it to return
`NoAlias` in cross-iteration queries, causing GVN and loop-vectorization
miscompiles.

After finding a matching assumption that is valid in the query context,
require both underlying objects to be invariant according to
`isValueEqualInPotentialCycles()` before using it. Queries without a
usable assumption skip these checks. Same-iteration queries and
hints about loop-invariant objects remain supported.

Fixes #241378.

Assisted-by: Claude Code
Assisted-by: OpenAI Codex
DeltaFile
+99-0llvm/test/Analysis/BasicAA/separate_storage.ll
+79-0llvm/test/Analysis/LoopAccessAnalysis/separate-storage-cross-iteration.ll
+5-0llvm/lib/Analysis/BasicAliasAnalysis.cpp
+183-03 files

LLVM/project c09479a — llvm/lib/Target/LoongArch LoongArchMergeBaseOffset.cpp

[LoongArch] Cast to unsigned before LSHing in LoongArchMergeBaseOffsetOpt::detectAndFoldOffset() (#242656)

Make one step ahead of #242761 to fix a latent, similar problem in
`LoongArchMergeBaseOffsetOpt::detectAndFoldOffset`, as suggested by
@heiher.
DeltaFile
+1-1llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
+1-11 files

LLVM/project 914d0bb — llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-scalar.ll

[RISCV][P-ext] Restrict P widening shift legalization to left shifts (#242773)

The RV32 P-extension custom legalization for i64 shifts shares a path
for `SHL`, `SRL`, and `SRA`. Its known-bits checks select `WSLL` or
`WSLA` when the input fits in an unsigned or signed 32-bit value, but
both instructions perform a left shift.

This commit restricts this selection to `SHL` so right shifts use the
existing legalization paths.

Closes https://github.com/llvm/llvm-project/issues/242771
DeltaFile
+96-0llvm/test/CodeGen/RISCV/rvp-scalar.ll
+7-5llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+103-52 files

FreeBSD/ports 3b5add4 — astro/mepo Makefile

astro/mepo: Fix WWW to correct page

PR:             300764
Approved by:    arrowd (co-mentor)
DeltaFile
+2-1astro/mepo/Makefile
+2-11 files

NetBSD/pkgsrc UzwNyt4 — doc CHANGES-2026

   doc: Updated converters/p5-JSON-XS to 4.05
VersionDeltaFile
1.8022+2-1doc/CHANGES-2026
+2-11 files

LLVM/project 5856115 — lld/ELF Driver.cpp, lld/MachO Driver.cpp

[LLD] Disable bitcode verification in release builds (#242663)

Similar to the plugin for other linkers, disable running the IR verifier
on bitcode input files. This improves ThinLTO link times by 1.5-1.8% and
stage2-clang build times by 0.57%.
DeltaFile
+4-0lld/wasm/Driver.cpp
+4-0lld/MachO/Driver.cpp
+4-0lld/ELF/Driver.cpp
+12-03 files

NetBSD/pkgsrc j4eR0dh — converters/p5-JSON-XS Makefile distinfo

   p5-JSON-XS: update to 4.05.

   4.05 Fri 13 Nov 2026 05:21:06 CET
        - the incremental parser would not properly reset parsing offset
          after removing a top-level number json number, causing memory
          corruption. this is potentially a very serious vulnerability.
          (reported by Albert Gierlach).
        - the ignore initial whitespace optimisation in the incremental
          parser could result in the parser reading beyond the end of string,
          potentially leading to parsing errors or skipping json texts.
           - FREEZE method calls could move the stack and cause a use-after-free.
             requires allow_tags and a suitable FREEZE method to be exploited
             (reported by Albert Gierlach).
           - json_sv_grow would not allocate space for the trailing 0 byte.
             possibly exploitable. (reported by Albert Gierlach).
        - the incremental parser did not properly detect embedded NUL
          characters as an error (reported by Peter Juhasz and his LLM).
        - string and object decoding failures could leak a partially
          constructed perl scalar (reported by Peter Juhasz).

    [2 lines not shown]
VersionDeltaFile
1.31+4-4converters/p5-JSON-XS/distinfo
1.48+3-4converters/p5-JSON-XS/Makefile
+7-82 files

FreeBSD/src e23c13a — sys/dev/pci pci_dw.h pci_dw.c

pci_dw: Honor the max-link-speed property

The root port reports in LNKCAP the highest link speed the core was
synthesized for, which can be more than the PHY behind it supports.  On
the RK3568 pcie2x1 the root port advertises 8GT/s while the PHY only
does 5GT/s.  The link stays at 2.5GT/s after the directed speed change.

Read max-link-speed from the device tree and write it to the Max Link
Speed field of LNKCAP and to the Target Link Speed field of LNKCTL2
before requesting the speed change.  Nothing changes when the property
is absent.

Tested on a Quartz64 Model A with a Samsung 970 EVO Plus NVMe drive: the
link now trains at 5GT/s and the sequential throughput goes from 200MB/s
to 400MB/s.

Differential Revision:  https://reviews.freebsd.org/D61014
DeltaFile
+54-0sys/dev/pci/pci_dw.c
+1-0sys/dev/pci/pci_dw.h
+55-02 files

FreeBSD/src 495c899 — sys/dev/mii mcommphy.c

mcommphy: Set the 10/100 TX delay of the YT8511

The TX clock delay of the YT8511 is split in two registers.  The delay
used in gigabit mode is in the clock gating page and was already set
from the RGMII mode, but the one used in the 10/100 modes is in the next
page and was left at its reset value of 2ns.  With a phy-mode that does
not ask for a TX delay in the PHY, the MAC provides it and the PHY adds
another 2ns in the 10/100 modes.

Set it like the gigabit one, like Linux does.

Tested on a Quartz64 Model A, gigabit and 100Mbit links.

Reviewed by:    oh
Differential Revision:  https://reviews.freebsd.org/D61015
DeltaFile
+13-0sys/dev/mii/mcommphy.c
+13-01 files

FreeBSD/src 3dcd4a2 — usr.bin/top machine.h display.h

top: implement pid highlighting

Implement PID highlighting. This can be activated by pressing
'L' and entering a PID to highlight. Highlighting can be cleared
by entering '+' as a PID to highlight. This feature is inspired by
the OpenBSD top, which uses 'P' key for that. We have to use 'L'
because 'P' is already used for toggling per-CPU statistics.

Reviewed by:    kib
Obtained from:  OpenBSD (partially)
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D61090
DeltaFile
+47-11usr.bin/top/top.c
+40-4usr.bin/top/display.c
+8-1usr.bin/top/top.1
+4-1usr.bin/top/machine.c
+2-2usr.bin/top/machine.h
+2-2usr.bin/top/display.h
+103-212 files not shown
+105-228 files

LLVM/project 2bf7876 — llvm/lib/Target/Hexagon HexagonTargetMachine.h HexagonTargetMachine.cpp

Hexagon: Use LastSubtargetCache in getSubtargetImpl

Migrate to the new common target pattern

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+14-5llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
+13-0llvm/lib/Target/Hexagon/HexagonTargetMachine.h
+27-52 files

FreeBSD/src cd7a2cf — share/man/man4 ip.4

ip.4: Fix markup typos

At least INADDR_ANY and IP_MULTICAST_IF are definitely Dv's.

MFC after:      3 days
DeltaFile
+2-2share/man/man4/ip.4
+2-21 files

FreeBSD/src 22a4f5d — share/man/man4 ip.4

ip.4: Fix ip_mreqn imr_address field name

This manual used imr_interface when describing the second field of
struct ip_mreqn, but sys/netinet/in.h names that field imr_address.
Note that ip_mreq below does have imr_interface which is unchanged.

PR:             300680
MFC after:      3 days
Reviewed by:    ziaee
Closes:         https://github.com/freebsd/freebsd-src/pull/2553
DeltaFile
+4-4share/man/man4/ip.4
+4-41 files

NetBSD/pkgsrc LaGF3Sl — lang/rust Makefile

   rust: restore SunOS fix lost in 1.99.1 update
VersionDeltaFile
1.372+4-1lang/rust/Makefile
+4-11 files