LLVM/project d3d250c — llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU setcc-multiple-use.ll combine-and-sext-bool.ll

perf(AMDGPU): fold extended boolean AND/OR

Accept ANY_EXTEND in the AND-to-select combine and add the matching
OR fold. Guard OR folds for shared extensions and uniform conditions
to avoid code-size regressions.
DeltaFile
+123-0llvm/test/CodeGen/AMDGPU/or.ll
+37-6llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+16-0llvm/test/CodeGen/AMDGPU/combine-and-sext-bool.ll
+3-4llvm/test/CodeGen/AMDGPU/setcc-multiple-use.ll
+179-104 files

LLVM/project be79c94 — llvm/lib/Transforms/IPO AttributorAttributes.cpp, llvm/test/Transforms/Attributor cleanup-no-seeding.ll

[Attributor] Skip the dead-internal-function walk for AAs that will not be updated (#227187)

AAIsDeadFunction::initialize calls isAssumedDeadInternalFunction, which
runs checkForAllCallSites and so creates an AAIsDead for every internal
caller, each of which repeats the walk. Initialization therefore
recurses through the whole cone of internal callers.

When the AA will not be updated (outside of deduction, or for a function
the Attributor is not run on), getOrCreateAAFor fixes it pessimistically
right after initialize returns, discarding the walk's result. Skip the
walk in that case and assume the entry block live.

This is the dominant cost of the CGSCC OpenMPOpt pass, whose cleanupIR
queries the liveness of callers outside the current SCC on every SCC,
giving (#SCCs) x (depth of the internal caller chain). #222226 removed
the callee-seeding half of this cost; this removes the walk itself.

* The cleanup-no-seeding.ll change drops a debug check that only the
removed walk printed.

    [30 lines not shown]
DeltaFile
+6-0llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+0-1llvm/test/Transforms/Attributor/cleanup-no-seeding.ll
+6-12 files

NetBSD/pkgsrc-wip 94facd4 — . Makefile

wip: Add pamtester
DeltaFile
+1-0Makefile
+1-01 files

NetBSD/pkgsrc-wip 692b4e5 — pamtester TODO, pamtester/patches patch-src_parse__opts.c patch-src_util.c

pamtester: Import pamtester-0.1.2 as wip/pamtester

pamtester is a tiny program to test the pluggable authentication modules (PAM)
facility, which is a defacto mechanism for authentication management in many
unices and similar OSes including Solaris, HP-UX, *BSD, MacOSX and Linux.

While specifically designed to help PAM module authors to test their modules,
that might also be useful for system administrators interested in building a
centralised authentication system using common standards such as NIS, SASL and
LDAP.

Still does not build, see TODO.
DeltaFile
+28-0pamtester/patches/patch-src_app.c
+19-0pamtester/TODO
+18-0pamtester/patches/patch-src_parse__opts.c
+18-0pamtester/patches/patch-src_util.c
+18-0pamtester/patches/patch-src_pamtester.c
+18-0pamtester/patches/patch-src_expr__parser.c
+119-05 files not shown
+176-011 files

LLVM/project a1a4701 — bolt/lib/Core DIEBuilder.cpp, bolt/lib/Rewrite DWARFRewriter.cpp

[BOLT] Handle the indexed DWARF address forms by class (#227591)

DWARF's address class covers DW_FORM_addr plus DW_FORM_addrx,
addrx1 through addrx4 and DW_FORM_GNU_addr_index, where the
indexed ones store an index into .debug_addr rather than the
address itself. Several places enumerated a subset of those
forms instead of testing the class, so addrx1 through addrx4
took wrong code path.

The local getHighPC() helper compared against DW_FORM_addr
alone, so every indexed form was read as an offset, yielding
"LowPC + index". It also never resolved an index at all,
unlike the getLowPC() directly above it.

Add isAddressForm() and isIndexedAddressForm(), and route all
of the above through them. getHighPC() now takes a DWARFUnit
argument so it can resolve an index through .debug_addr the
way getLowPC() does.


    [15 lines not shown]
DeltaFile
+175-0bolt/test/AArch64/dwarf5-addrx-lowpc-highpc.s
+87-24bolt/lib/Rewrite/DWARFRewriter.cpp
+4-0bolt/lib/Core/DIEBuilder.cpp
+266-243 files

LLVM/project 46c5ec8 — clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenExprScalar.cpp

[CIR] Implement matrix scalar multiplication support (#230815)

Implement multiplication op support between matrix and scalar types.

Issue https://github.com/llvm/llvm-project/issues/221772
DeltaFile
+56-1clang/test/CIR/CodeGen/matrix.cpp
+9-3clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+0-11clang/test/CIR/IR/invalid-matrix.cir
+7-4clang/include/clang/CIR/Dialect/IR/CIROps.td
+72-194 files

OPNSense/core 8e6f3f3 — src/opnsense/mvc/app/library/OPNsense/Firewall ForwardRule.php

Firewall: NAT: Destination NAT - fix typo in parseRdrRules() causing faulty rules not being disabled. ref: https://github.com/opnsense/core/pull/10944
DeltaFile
+1-1src/opnsense/mvc/app/library/OPNsense/Firewall/ForwardRule.php
+1-11 files

FreeBSD/doc 3a7bb1e — website/content/en/status/report-2026-07-2026-09 truss.adoc

Status/2026Q3/truss.adoc: Add report

Approved by:    salvadore
Reviewed by:    salvadore
Differential Revision:  https://reviews.freebsd.org/D59318
DeltaFile
+48-0website/content/en/status/report-2026-07-2026-09/truss.adoc
+48-01 files

LLVM/project 5cd63aa — llvm/test/CodeGen/AMDGPU legalize-amdgcn.raw.ptr.buffer.store.ll legalize-amdgcn.raw.buffer.load.ll, llvm/test/CodeGen/AMDGPU/GlobalISel inst-select-load-flat.mir inst-select-load-global.mir

AMDGPU: Stop setting kill flags before FinalizeISel (#229009)

Work on removing all pre-RA flag management. Kill flags should
eventually be
removed. Pre-regalloc passes no longer depend on them, LiveIntervals
strips them
and VirtRegRewriter re-introduces them.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+108-108llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.load.ll
+81-81llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global.mir
+81-81llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-global-old-legalization.mir
+76-76llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-flat.mir
+70-70llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.buffer.load.ll
+66-66llvm/test/CodeGen/AMDGPU/legalize-amdgcn.raw.ptr.buffer.store.ll
+482-482114 files not shown
+1,577-1,580120 files

LLVM/project 9e00863 — mlir/lib/Conversion/SCFToControlFlow SCFToControlFlow.cpp, mlir/test/Conversion/SCFToControlFlow convert-to-cfg.mlir

[mlir][SCFToControlFlow] Mark the scf.for increment as non-wrapping (#230891)

`scf.for` makes it undefined behavior for `LB + n*Step` not to be
representable in the induction variable type (#203713), so no increment
of the induction variable can wrap under the interpretation of the
bounds. Emit the increment with `overflow<nsw>`, or `overflow<nuw>` for
loops with `unsignedCmp`.

Without the flag, LLVM cannot prove that an induction variable that
starts non-negative and has a non-negative step stays non-negative.

Assisted-by: Cursor
DeltaFile
+13-11mlir/test/Conversion/SCFToControlFlow/convert-to-cfg.mlir
+8-1mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
+21-122 files

NetBSD/pkgsrc ECSYlIY — doc CHANGES-2026

   doc: Updated textproc/scooter to 0.10.0
VersionDeltaFile
1.6934+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc UVyyt8X — textproc/scooter Makefile cargo-depends.mk

   textproc/scooter: update to 0.10.0

   New features:

       Support files that aren't UTF-8, such as Latin-1 by @thomasschafer in #447
       Make ^ and $ match at line boundaries in multiline mode by @thomasschafer in #449

   Bug fixes:

       Fix stale previews after files change by @thomasschafer in #448
       Fix open-in-editor panic with no results by @thomasschafer in #424

   Other changes:

       Harden CI workflow permissions by @thomasschafer in #420
       Bump Rust toolchain to 1.97 by @thomasschafer in #437
       Fix Linux musl release builds after rs-cargo v4 upgrade by @thomasschafer in #453
       Bump various deps
VersionDeltaFile
1.12+169-148textproc/scooter/distinfo
1.12+55-48textproc/scooter/cargo-depends.mk
1.12+3-5textproc/scooter/Makefile
+227-2013 files

OPNSense/core a3797f0 — src/opnsense/mvc/app/models/OPNsense/Firewall Alias.php

Firewall: Aliases - port aliases require content, add validation.

ref: https://github.com/opnsense/core/pull/10946
DeltaFile
+3-0src/opnsense/mvc/app/models/OPNsense/Firewall/Alias.php
+3-01 files

LLVM/project eca10f0 — mlir/include/mlir/Interfaces DataLayoutInterfaces.h, mlir/lib/Dialect/LLVMIR/IR LLVMTypes.cpp

[mlir][DataLayout] Add getTypeAllocSize

Add DataLayout::getTypeAllocSize, the type's size rounded up to its ABI
alignment, as in llvm::DataLayout.  Use it for the three places that
computed this by hand: LLVM dialect arrays and structs, and the OpenMP
offload privatization pass.  ClangIR's type layout hooks also need it.

Assisted-by: Cursor / Claude Opus 5.5
DeltaFile
+29-0mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
+27-0mlir/test/Dialect/LLVMIR/layout.mlir
+2-5mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
+1-3mlir/lib/Dialect/OpenMP/Transforms/OpenMPOffloadPrivatizationPrepare.cpp
+4-0mlir/lib/Interfaces/DataLayoutInterfaces.cpp
+4-0mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
+67-83 files not shown
+71-89 files

NetBSD/pkgsrc fwEjlgo — doc CHANGES-2026

   doc: Updated devel/gitlogue to 0.12.0
VersionDeltaFile
1.6933+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc vcfuKAg — devel/gitlogue Makefile cargo-depends.mk

   devel/gitlogue: update to 0.12.0

   ✨ Features

       feat: return to waiting screen after watch playback finishes (784f6e5)
       feat: add watch mode to replay new commits as they are made (9cfdddf)

   🐛 Bug Fixes

       fix: respect pause and detached checkouts in watch mode (3b7f372)
       fix: redraw when UI state changes without animation progress (8a7158b)
       fix(ci): fail Homebrew SHA step on HTTP errors (9a27f93)

   📝 Other Changes

       chore: bump version to v0.12.0 (06a19b7)
       refactor: show waiting screen instead of startup HEAD in watch mode (f89347f)
       chore(deps): bump rand from 0.10.2 to 0.10.3 (c2d782c)
       chore(deps): bump toml_edit (76d7e99)

    [5 lines not shown]
VersionDeltaFile
1.4+19-19devel/gitlogue/distinfo
1.4+5-5devel/gitlogue/cargo-depends.mk
1.4+4-4devel/gitlogue/Makefile
+28-283 files

FreeBSD/ports 04cf9f7 — x11 Makefile, x11/framework-laptop12 distinfo pkg-descr

x11/framework-laptop12: New port

Meta-port for the Framework Laptop 12 on FreeBSD X11

Reviewed by:    jrm
Differential Revision:  https://reviews.freebsd.org/D60627
DeltaFile
+22-0x11/framework-laptop12/Makefile
+13-0x11/framework-laptop12/pkg-descr
+3-0x11/framework-laptop12/distinfo
+1-0x11/Makefile
+39-04 files

FreeBSD/ports 8292519 — x11 Makefile, x11/framework-keyboard distinfo pkg-descr

x11/framework-keyboard: New port

Meta-port for the Framework laptop Fn row and media keys.

Reviewed by:    jrm
Differential Revision:  https://reviews.freebsd.org/D60618
DeltaFile
+27-0x11/framework-keyboard/Makefile
+9-0x11/framework-keyboard/pkg-descr
+3-0x11/framework-keyboard/distinfo
+1-0x11/Makefile
+40-04 files

LLVM/project eb82884 — flang/lib/Optimizer/CodeGen CodeGen.cpp

[flang][cuda] Return early if no cuf.shared_type_descs attribute is set (#231222)

Avoid to look at parent operations if not needed.
DeltaFile
+4-4flang/lib/Optimizer/CodeGen/CodeGen.cpp
+4-41 files

LLVM/project e2e4757 — lldb/source/Plugins/DynamicLoader/Windows-DYLD DynamicLoaderWindowsDYLD.h DynamicLoaderWindowsDYLD.cpp, lldb/source/Plugins/ObjectFile/PECOFF ObjectFilePECOFF.cpp

[lldb][Windows] Support TLS variables with PDB (#229894)

This implements `DynamicLoaderWindowsDYLD::GetThreadLocalData` which
resolves a TLS offset for a module on a thread into an address. This is
called when `DW_OP_form_tls_address` is evaluated.

On Windows, the address for a thread local is resolved by reading from
the TLS array at the module's `_tls_index`.

It only works with PDB right now, because of a bug in LLVM where it uses
the wrong relocation for the offset (#196083).

Closes #196288.
DeltaFile
+117-2lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp
+40-21lldb/test/API/lang/c/tls_globals/main.c
+17-6lldb/test/API/lang/c/tls_globals/TestTlsGlobals.py
+5-10lldb/test/API/lang/c/tls_globals/a.c
+13-0lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+8-0lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h
+200-393 files not shown
+205-409 files

OPNSense/core 9ff4d81 — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php, src/opnsense/mvc/app/library/OPNsense/Firewall Rule.php

Firewall: prefer aliases over well-known port names, closes https://github.com/opnsense/core/pull/10946
DeltaFile
+23-17src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+2-7src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php
+6-0src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/PortField.php
+31-243 files

LLVM/project 740c9ad — .github/workflows pr-code-lint.yml

[GitHub] Fix PR code lint workflow (#231252)

After 192e44b58239, expect JSON from compute_projects.py rather than
being able to source the output to set env variables.
DeltaFile
+1-2.github/workflows/pr-code-lint.yml
+1-21 files

LLVM/project 22e7ed8 — bolt/lib/Core BinaryFunction.cpp

[BOLT] Expand builtin_unreachable recognition heuristics

A jump to the address right past the end of a function (the result of
__builtin_unreachable()) was replaced with a nop only when the target
was within the function's padding (MaxSize). However, there is a
corner case for the very last function in a section: MaxSize equals
Size, so BOLT would see __builtin_unreachable() instead as as an
interprocedural reference to an address outside of any section,
tripping the "cannot get section for referenced address" assertion in
processInterproceduralReferences(). Fix this.
DeltaFile
+5-3bolt/lib/Core/BinaryFunction.cpp
+5-31 files

LLVM/project a72e6fb — .github/workflows pr-code-lint.yml

[GitHub] Trigger code lint workflow on changes to compute_projects (#231250)

192e44b58239 adjusted the script but broke this workflow. No one noticed
given this workflow was not triggered on those changes. Make the
workflow trigger on these changes so we can catch such breakages.
DeltaFile
+1-0.github/workflows/pr-code-lint.yml
+1-01 files

OpenZFS/src 68188d1 — tests/zfs-tests/include libtest.shlib

ZTS: don't remove a pool mountpoint that is the root directory

destroy_pool() removes the pool's mountpoint directory after destroying
the pool.  If that mountpoint is the root directory, for example a pool
with mountpoint=/ or a path such as "/." or "//", it runs rm -rf on
the root directory.

Skip the removal when the mountpoint is the same file as /, with the
same -ef check that 0daa27fea added to the default setup functions.

This reworks #19056 as suggested in its review: only this check
changes, and create_pool(), destroy_pool()'s name check and the error
messages are left alone.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Will Rouesnel <wrouesnel at wrouesnel.com>
Related #19049
Closes #19342
DeltaFile
+1-1tests/zfs-tests/include/libtest.shlib
+1-11 files

OpenZFS/src 711ef5e — tests/zfs-tests/tests/functional/cli_root/zdb zdb_object_range_pos.ksh

ZTS: read the MOS of an exported pool in zdb_object_range_pos

zdb_object_range_pos lists every object in the MOS of the imported
test pool with zdb, then lists it again once per type filter and
compares the two lists. A txg that syncs between two of those zdb
runs changes the space map objects, and the test fails. In one lab
failure the second run no longer had space map 258 and had a new
space map 274.

Export the pool before the MOS checks, read it with zdb -e, and
import it again afterwards. cleanup imports the pool when a check
fails while it is exported. The test also fails when zdb -e lists no
objects, since two empty lists would pass every comparison.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Patrick Domack <patrickdk at patrickdk.com>
Closes #19321
DeltaFile
+10-5tests/zfs-tests/tests/functional/cli_root/zdb/zdb_object_range_pos.ksh
+10-51 files

FreeBSD/src 39d6e22 — sys/arm64/arm64 identcpu.c pmap.c, sys/arm64/include cpu.h

arm64: Fix and rename midr_check_var_part_range()

At the lowest and highest variants in the specified range,
midr_check_var_part_range() was comparing the part number, rather than
the revision, against the bounds.  In other words, the "Y" in "rXpY"
should be compared to CPU_REV() instead of CPU_PART().  Apply this
correction, and rename the function to midr_check_var_rev_range() to
better reflect the field that we are checking.

Reported by:    Claude Code (Opus 5.5)
Reviewed by:    andrew
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D60624
DeltaFile
+11-6sys/arm64/include/cpu.h
+2-2sys/arm64/arm64/pmap.c
+1-1sys/arm64/arm64/identcpu.c
+14-93 files

LLVM/project 384d1bb — flang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP variant-source-context.f90

Associate a BLOCK across compiler directives that emit no code

A named INLINEALWAYS, unnamed inlining directives, and loop directives
between a standalone METADIRECTIVE and its BLOCK still ended the search,
so a selected TARGET was empty and the BLOCK was lowered outside it.

Use the DO path's classification of compiler directives that emit no
executable operations for the BLOCK path too, and rename it accordingly.
The directives move with the BLOCK and are still lowered, so a matching
INLINEALWAYS still marks the procedure always-inline, a mismatched one
stays ignored, and loop and inlining directives see the same following
statement as before. PREFETCH still ends the search.
DeltaFile
+12-26flang/lib/Lower/OpenMP/OpenMP.cpp
+25-1flang/test/Lower/OpenMP/variant-source-context.f90
+37-272 files

LLVM/project 6e63677 — mlir/lib/Dialect/Ptr/IR PtrDialect.cpp, mlir/test/Dialect/Ptr canonicalize.mlir

[mlir][ptr] Preserve broadcasts when folding zero pointer offsets (#231077)

ptr.ptr_add accepts a scalar base with a shaped offset and returns a
shaped pointer value. Its zero-offset fold currently returns the scalar
base even when the offset is a zero splat, producing a value with the
wrong type and triggering an assertion during canonicalization.

Only fold to the base when its type matches the result type. Add
regression coverage for fixed vectors, scalable vectors, and tensors,
and check that type-preserving zero-offset folds still apply to shaped
bases.
DeltaFile
+62-0mlir/test/Dialect/Ptr/canonicalize.mlir
+2-1mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
+64-12 files

LLVM/project 0a0b08f — llvm/lib/Transforms/IPO AttributorAttributes.cpp, llvm/test/Transforms/Attributor cleanup-no-seeding.ll

[Attributor] Skip the dead-internal-function walk for AAs that will not be updated

AAIsDeadFunction::initialize calls isAssumedDeadInternalFunction, which
runs checkForAllCallSites and so creates an AAIsDead for every internal
caller, each of which repeats the walk. Initialization therefore recurses
through the whole cone of internal callers.

When the AA will not be updated (outside of deduction, or for a function
the Attributor is not run on), getOrCreateAAFor fixes it pessimistically
right after initialize returns, discarding the walk's result. Skip the
walk in that case and assume the entry block live.

This is the dominant cost of the CGSCC OpenMPOpt pass, whose cleanupIR
queries the liveness of callers outside the current SCC on every SCC,
giving (#SCCs) x (depth of the internal caller chain). #222226 removed
the callee-seeding half of this cost; this removes the walk itself.

cleanup-no-seeding.ll drops a debug check that only the removed walk
printed.

    [2 lines not shown]
DeltaFile
+6-0llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+0-1llvm/test/Transforms/Attributor/cleanup-no-seeding.ll
+6-12 files