LLVM/project ffe2a92 — mlir/lib/Dialect/SparseTensor/Transforms SparseGPUCodegen.cpp, mlir/test/Conversion/GPUCommon lower-sparse-to-gpu-runtime-calls.mlir

[mlir][sparse][gpu] Add libgen support for transposed SpMV and SpMM (#230412)

This change adds libgen support for transposed SpMV and SpMM in the
sparse-gpu-codegen pass by recognizing `y = A^Tx` for SpMV and `y =
A^TB`, `y = AB^T`, and `y = A^TB^T` for SpMM. Tests have been added to
the SparseTensor dialect for these changes. Tests are also added in the
GPU dialect for lowering to GPU runtime calls as it was previously
missing.

Assisted by Codex
DeltaFile
+456-0mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-matmul-transpose-lib.mlir
+178-0mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sparse-matvec-transpose-lib.mlir
+157-0mlir/test/Dialect/SparseTensor/GPU/gpu_matmul_transpose_lib.mlir
+107-2mlir/test/Conversion/GPUCommon/lower-sparse-to-gpu-runtime-calls.mlir
+77-30mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
+104-0mlir/test/Dialect/GPU/sparse-roundtrip.mlir
+1,079-321 files not shown
+1,132-327 files

LLVM/project 0b12882 — clang/docs ReleaseNotes.md, clang/include/clang/Sema Sema.h

[Clang] Implement CWG2900 (#224291)

We did not implement the CWG200 changes to [dcl.type.auto.deduct] The
rest seems to be working - I added tests, both for this issue and all
examplars in the wording.

(i.e, deducing `auto` from a `decltype(auto)` template parameter is
rejected)

I thought it was cleaner to reuse getNTTParameterFromExpr rather than
duplicating it, so there is a bunch of churn there to rename it.

Note that GCC doesn't seem to fully support that resolution ( To say
nothing of other implementations).

Assisted-By: Opus 5.
DeltaFile
+63-0clang/test/SemaTemplate/temp_arg_nontype_arg_type.cpp
+30-24clang/lib/Sema/SemaTemplateDeduction.cpp
+36-4clang/test/CXX/drs/cwg29xx.cpp
+16-0clang/lib/Sema/SemaTemplate.cpp
+5-0clang/include/clang/Sema/Sema.h
+4-0clang/docs/ReleaseNotes.md
+154-281 files not shown
+155-297 files

LLVM/project 958b783 — libc/src/__support/OSUtil/linux/syscall_wrappers syncfs.h, libc/src/unistd syncfs.h

[libc] Implement syncfs in unistd (#230855) (#231129)

Implement the Linux extension function `syncfs(int fd)` in `<unistd.h>`.

Fixes #230855.

Assisted by Antigravity and reviewed by Aman Maurya.
DeltaFile
+51-0libc/test/src/unistd/syncfs_test.cpp
+33-0libc/src/__support/OSUtil/linux/syscall_wrappers/syncfs.h
+32-0libc/src/unistd/linux/syncfs.cpp
+25-0libc/src/unistd/syncfs.h
+20-0libc/test/src/unistd/CMakeLists.txt
+13-0libc/src/unistd/linux/CMakeLists.txt
+174-07 files not shown
+203-013 files

LLVM/project e37c339 — llvm/lib/TableGen Record.cpp

TableGen: Avoid heap allocation when resolving bits

Instruction encodings are commonly 64 to 128 bits, which overflowed the
16 element inline buffer and needed a heap allocation in 44% of the
calls when parsing AMDGPU.td.

Gigainstructions executed by llvm-tblgen --null-backend

             before   after
  AMDGPU.td   16.97   16.95   -0.1%
  X86.td       5.84    5.83   -0.1%
  AArch64.td   3.00    2.99   -0.3%
  RISCV.td     7.44    7.44   -0.1%

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-1llvm/lib/TableGen/Record.cpp
+1-11 files

LLVM/project e5305e7 — llvm/docs/TableGen BackGuide.md, llvm/include/llvm/TableGen Record.h

TableGen: Store classes and defs in a StringMap

Classes and defs were kept in a std::map ordered by name, which makes
every lookup a series of string comparisons over names that often share
long prefixes. Store them in a StringMap instead, and have getClasses()
and getDefs() return a list sorted by name, built when first needed
after records are added.

Gigainstructions executed by llvm-tblgen --null-backend

             before   after
  AMDGPU.td   18.17   16.98   -6.6%
  X86.td       6.15    5.84   -5.1%
  AArch64.td   3.32    3.00   -9.7%
  RISCV.td     8.26    7.44   -9.9%

Including the backends, all tablegen runs in a build of all targets and
clang execute 3.1% fewer instructions in total, and none are slower.
Peak memory parsing AMDGPU.td drops from 835 MB to 830 MB.

    [2 lines not shown]
DeltaFile
+36-10llvm/lib/TableGen/Record.cpp
+14-12llvm/include/llvm/TableGen/Record.h
+8-8mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
+8-8llvm/utils/TableGen/CTagsEmitter.cpp
+5-7mlir/tools/mlir-tblgen/OpGenHelpers.cpp
+3-8llvm/docs/TableGen/BackGuide.md
+74-535 files not shown
+86-6911 files

LLVM/project cd0ceda — llvm/include/llvm/TableGen Record.h, llvm/lib/TableGen Record.cpp

TableGen: Cache resolved class instantiations

The same class instantiation is often referenced many times in one
record, and each reference was resolved from scratch along with
everything nested in its arguments. Cache the results in MapResolver and
RecordResolver, and share them with any TrackUnresolvedResolver wrapping
those.

Gigainstructions executed by llvm-tblgen --null-backend

             before   after
  AMDGPU.td   71.75   18.22  -74.6%
  X86.td       6.10    6.15   +0.8%
  AArch64.td   3.28    3.32   +1.3%
  RISCV.td     8.18    8.26   +1.0%

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+138-3llvm/include/llvm/TableGen/Record.h
+14-4llvm/lib/TableGen/Record.cpp
+152-72 files

FreeBSD/src a6e1dde — sys/netpfil/pf pf.c, tests/sys/netpfil/pf icmp6.sh

pf: Do not corrupt neighbour advertisements when translating

When an ICMPv6 query or reply matches a translated state,
pf_test_state_icmp() copies the state's virtual id into icmp6_id.  Only
echo messages have an identifier there.  For all other types the
virtual id is 0 and those two bytes hold something else; in a neighbour
advertisement they hold the R, S and O flags.  The checksum was not
updated either, so icmp6_input() dropped the advertisement as a bad
checksum.

Unicast NUD probes to a link-local neighbour, such as the default
router, are sent from the link-local address.  With a nat rule that
matches it (e.g. "from any"), every advertisement answering a probe was
dropped: NUD failed, the neighbour cache entry was deleted, and traffic
to the neighbour stalled until it was resolved again.

Only rewrite the id of echo messages, as the ICMPv6 error path already
does, and update the checksum, as the IPv4 path does.


    [8 lines not shown]
DeltaFile
+73-0tests/sys/netpfil/pf/icmp6.sh
+13-1sys/netpfil/pf/pf.c
+86-12 files

LLVM/project 4a664b8 — clang/lib/DependencyScanning DependencyScanningWorker.cpp, clang/test/ClangScanDeps modules-relocated-mm-macro.c build-session-validation-relocated-modules.c

Revert "[clang][DepScan] Disable relocation checks" (#231244)

This reverts commit dd3534fd5af15575d0d8dea116740b2abb8f3328.

Which effectively re-enables relocation checking after the underlying
issue has been addressed in d397ab3cacd6
DeltaFile
+71-0clang/test/ClangScanDeps/build-session-validation-relocated-modules.c
+6-9clang/test/ClangScanDeps/modules-relocated-mm-macro.c
+0-3clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+77-123 files

LLVM/project f343054 — clang-tools-extra/clangd ClangdServer.cpp

[clangd] Use timeout multiplier inside ClangdServer::blockUntilIdleForTest() for UBSan builds (#230221)

It looks like the reason of this failure
https://lab.llvm.org/buildbot/#/builders/25/builds/20042 is in missing
UBSan in the list of sanitizers for which we use multiplier for timeout
DeltaFile
+2-1clang-tools-extra/clangd/ClangdServer.cpp
+2-11 files

FreeBSD/src 3ca4b8d — contrib/openbsm/bin/auditdistd proto_tls.c proto_socketpair.c

auditdistd: Use fixed-length protocol names

All communication between auditdistd senders and receivers and
internally between auditdistd and its worker children passes through the
same pair of send / receive functions.  The receive function uses
recv(2) with the MSG_WAITALL flag, which in theory means we should never
get a short read.  However, when handing off a socket to a worker child,
we also pass a variable-length string identifying the type of socket
we're passing, and reading this string relies on a short read.  This
used to work because the arrival of the descriptor would interrupt the
recv(2) call, but this bug was fixed when the AF_UNIX code was rewritten
a while ago and auditdistd has been broken ever since.

Fixing the length of the protocol name to four characters including the
terminating null solves the short-read bug by never requiring a short
read (nothing else in auditdistd requires one).

PR:             296107
MFC after:      1 week

    [2 lines not shown]
DeltaFile
+4-9contrib/openbsm/bin/auditdistd/proto.c
+1-1contrib/openbsm/bin/auditdistd/proto_tls.c
+1-1contrib/openbsm/bin/auditdistd/proto_socketpair.c
+1-1contrib/openbsm/bin/auditdistd/proto_impl.h
+7-124 files

FreeBSD/src 989d72f — sys/netpfil/pf pf_table.c

pf: Free a table entry that cannot be routed

pfr_insert_kentry() returned the error of pfr_route_kentry() and
leaked the entry it had created; pfr_insert_kentries() stopped at the
first entry it could not route and leaked it and the rest of the work
queue, which no caller frees.  Destroy an entry that cannot be routed
and go on with the next.

Reviewed by:            kp
MFC after:              2 weeks
Sponsored by:           Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D60532
DeltaFile
+7-4sys/netpfil/pf/pf_table.c
+7-41 files

LLVM/project 51aec76 — lld/include/lld/Common BPSectionOrdererBase.inc, lld/test/ELF bp-section-orderer.s

[lld][bp] Fix page fault area calculation (#230566)
DeltaFile
+5-4lld/include/lld/Common/BPSectionOrdererBase.inc
+3-2llvm/tools/llvm-profdata/llvm-profdata.cpp
+1-1llvm/test/tools/llvm-profdata/show-order.proftext
+1-1lld/test/ELF/bp-section-orderer.s
+10-84 files

FreeBSD/ports 5deac44 — irc/halloy Makefile Makefile.crates

irc/halloy: update to 2026.9

Changelog:
https://github.com/squidowl/halloy/releases/tag/2026.9

Commitlog:
https://github.com/squidowl/halloy/compare/2026.8...2026.9

PR: 299307
Approved by: Andie Bradley (maintainer)
DeltaFile
+123-135irc/halloy/distinfo
+61-67irc/halloy/Makefile.crates
+1-2irc/halloy/Makefile
+185-2043 files

FreeNAS/freenas dc7737a —

Empty commit to create PR on github.

You should reset it
DeltaFile
+0-00 files

FreeNAS/freenas ab2858e — tests/api2 test_alert.py

NAS-144450 / 28.0.0-BETA.1 / Fix alerts test (#20006)

Wait for `VolumeStatus` alert by class instead of source. If another
alert from that source appears (e.g., boot pool status alert), the test
breaks because `volume` key is not there:
```
    def wait_for_alert(timeout=120):
        for _ in range(timeout):
            for alert in call("alert.list"):
                if (
                    alert["source"] == "VolumeStatus"
                  and alert["args"]["volume"] == pool_name
                        ^^^^^^^^^^^^^^^^^^^^^^^
                    and alert["args"]["state"] == "DEGRADED"
                ):
E               KeyError: 'volume'
```
DeltaFile
+1-1tests/api2/test_alert.py
+1-11 files

FreeBSD/ports aac6578 — x11/kitty Makefile, x11/kitty/files patch-kitty_shaders_slang.py

x11/kitty: Add option CUSTOM_SHADERS

- The new option enables custom shaders in Kitty and is off by default
  (to avoid the dependency on Linuxator at runtime).
- Add a patch to fix the error message when the user has added custom
  shaders in the config file, but shader-slang is not installed
- Pet portfmt
- Bump PORTREVISION (list of dependencies changed)

PR:             299339
DeltaFile
+9-6x11/kitty/Makefile
+11-0x11/kitty/files/patch-kitty_shaders_slang.py
+20-62 files

LLVM/project f703ed4 — offload/libompaccsupport device.cpp Mapping.cpp, offload/libomptarget omptarget.cpp private.h

Revert "[Offload][OpenMP] Report source location of data transfers and synchr…" (#231552)

Reverts llvm/llvm-project#223730
DeltaFile
+0-50offload/test/offloading/info_nowait.c
+10-21offload/libompaccsupport/Mapping.cpp
+0-17offload/libomptarget/private.h
+6-11offload/libompaccsupport/device.cpp
+5-6offload/libomptarget/omptarget.cpp
+3-7offload/test/offloading/info.c
+24-1125 files not shown
+31-12811 files

LLVM/project 54143ae — clang/include/clang/CIR/Dialect/IR CIRAttrs.td

Update clang/include/clang/CIR/Dialect/IR/CIRAttrs.td

Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
DeltaFile
+1-0clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+1-01 files

LLVM/project 05b3eef — llvm/lib/Transforms/IPO FunctionAttrs.cpp, llvm/test/Transforms/FunctionAttrs arg_returned.ll nocapture.ll

FunctionAttrs: Check all uses when inferring captures for argument SCCs (#231536)

When merging the capture components of an SCC of arguments, only the
first use of each argument was considered, because of a misplaced break.
If an argument was passed to another argument in the SCC first and to a
capturing argument outside of it later, it was incorrectly inferred to
not be captured.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+48-0llvm/test/Transforms/FunctionAttrs/nocapture.ll
+2-2llvm/test/Transforms/FunctionAttrs/arg_returned.ll
+0-1llvm/lib/Transforms/IPO/FunctionAttrs.cpp
+50-33 files

LLVM/project 9116751 — clang/include/clang/CIR/Dialect/IR CIRAttrs.td

Update clang/include/clang/CIR/Dialect/IR/CIRAttrs.td

Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
DeltaFile
+1-1clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+1-11 files

LLVM/project 909a149 — llvm/lib/Transforms/IPO AttributorAttributes.cpp, llvm/test/Transforms/Attributor/ArgumentPromotion tail-padding.ll

Attributor: Don't privatize pointers to types with tail padding

isDenselyPacked checked for padding before and between struct elements, but
not after the last one, so { ptr, i32 } was considered densely packed. The
padding bytes are not passed when the argument is privatized, which broke
sqlite3 when the pointer was to a union containing such a struct.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>


DeltaFile
+91-0llvm/test/Transforms/Attributor/ArgumentPromotion/tail-padding.ll
+2-1llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+93-12 files

LLVM/project f5cbb51 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 combine-rndscale.ll

[X86] SimplifyDemandedVectorEltsForTargetNode - add X86ISD::VRNDSCALE handling (#231534)
DeltaFile
+25-0llvm/test/CodeGen/X86/combine-rndscale.ll
+7-0llvm/lib/Target/X86/X86ISelLowering.cpp
+32-02 files

FreeBSD/src 167d356 — sys/arm64/vmm vmm_instruction_emul.c

arm64/vmm: Treat Rt=31 as xzr in reg & instr emul

For certain instructions like msr, mrs, ldr & str, Rt=31 means the
operand is the Zero register (XZR) as opposed to the SP, even though the
two share the encoding of 31 on AArch64.

This is currently ignored in register and instruction emulation, so
emulated guest operations like "msr <reg>, xzr" will set the value of
<reg> to the current value of the SP instead of to 0.

Skip set and get operations when Rt=31 to correct the behaviour.

Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Reviewed by:    andrew
Sponsored by:   Arm Ltd
Pull Request:   https://github.com/freebsd/freebsd-src/pull/2454
DeltaFile
+25-8sys/arm64/vmm/vmm_instruction_emul.c
+25-81 files

FreeBSD/src ac64294 — sys/arm64/arm64 busdma_bounce.c

arm64: Relax memory barriers around DMA operations

Before and after DMA operations we need memory barriers to ensure
stores on the CPU are observed by the device, and stores by the device
are observed by the CPU.

Previously we used a "dsb sy" instruction, however this is too strong
and can lead to slower performance.

Drew Gallatin found and tested the issue with cache-coherent devices,
reducing the barriers to dmb instructions in the outer-shareable
domain. After discussing the issue with the Arm Linux DMA maintainer I
concluded it was safe for non-coherent devices as the only dsb
instructions we need are after cache operations and these already exist.

Replace the dsb before DMA with a "dmb oshst" when cache-coherent, or
the existing dsb after invalidating the cache when not coherent. This
ensures earlier stores have completed before we signal the device.


    [7 lines not shown]
DeltaFile
+9-3sys/arm64/arm64/busdma_bounce.c
+9-31 files

LLVM/project 6c0f1c1 — clang/test/CodeGenCXX mangle-template.cpp mangle-subst-template-template-parm-gh88592.cpp

fixup! fixup! [Clang] Do not assume existing substition for template specialization
DeltaFile
+0-20clang/test/CodeGenCXX/mangle-subst-template-template-parm-gh88592.cpp
+19-0clang/test/CodeGenCXX/mangle-template.cpp
+19-202 files

LLVM/project aeed8cf — llvm/lib/Transforms/IPO AttributorAttributes.cpp, llvm/test/Transforms/Attributor issue87856.ll memory-location-null-cast.ll

Attributor: Count accesses through null pointers cast to another address space

AAMemoryLocation ignored accesses through null if null was not
dereferenceable in either the access or the null pointer's address space.
A null pointer cast to another address space may be a valid address there,
e.g. addrspacecast (ptr addrspace(5) null to ptr) where null is valid in
addrspace(5), so functions accessing memory through it were wrongly
deduced memory(none). Only ignore accesses through null in its own
address space, where they are undefined.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+31-0llvm/test/Transforms/Attributor/memory-location-null-cast.ll
+4-3llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+1-1llvm/test/Transforms/Attributor/issue87856.ll
+36-43 files

LLVM/project 50a4c4b — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/AArch64 inloop-mla-reduction-narrow-mul.ll

[LV] Don't fold outer mixed zext/sext into mul-acc reduction multiply. (#231189)

tryToMatchAndCreateMulAccumulateReduction rewrites in-loop reductions of
ext(mul(ext(A), ext(B))) to mul(wide_ext(A), wide_ext(B)). If both mul
operands are the same extend, the outer extend kind was allowed to
differ from the inner one, assuming the square is never negative. That
only holds for sext inner extends; the narrow mul of two zexts can set
the sign bit, e.g. sext(mul i16 (zext i8 200), (zext i8 200)) is
sext(-25536), not 40000.

Only allow differing kinds if the inner extend is a sext.

Alive2 Proof: https://alive2.llvm.org/ce/z/mKqprz

PR: https://github.com/llvm/llvm-project/pull/231189
DeltaFile
+16-14llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-mla-narrow-mul.ll
+3-2llvm/test/Transforms/LoopVectorize/AArch64/inloop-mla-reduction-narrow-mul.ll
+3-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+22-183 files

LLVM/project a36bbbb — llvm/lib/Target/NVPTX NVPTXInstrInfo.td, llvm/test/CodeGen/NVPTX bf16-setp-noftz.ll

[NVPTX] Follow up 9386502801a0: Disable bf16 comparison FTZ (#231444)

PTX does not define .ftz for bf16 comparisons, so commit 9386502801a0
could generate invalid PTX. This fixes that by not allowing FTZ for bf16
for these newly added patterns.
DeltaFile
+24-0llvm/test/CodeGen/NVPTX/bf16-setp-noftz.ll
+1-1llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+25-12 files

LLVM/project 6bef713 — offload/libompaccsupport device.cpp Mapping.cpp, offload/libomptarget omptarget.cpp private.h

Revert "[Offload][OpenMP] Report source location of data transfers and synchr…"

This reverts commit 7e13b26f1cb4dd5a261b05b98a11e5ec2f8fb011.
DeltaFile
+0-50offload/test/offloading/info_nowait.c
+10-21offload/libompaccsupport/Mapping.cpp
+0-17offload/libomptarget/private.h
+6-11offload/libompaccsupport/device.cpp
+5-6offload/libomptarget/omptarget.cpp
+3-7offload/test/offloading/info.c
+24-1125 files not shown
+31-12811 files

OpenBSD/src 7weuwOw — usr.sbin/rpki-client main.c nca.c

   Rename variable names for consistency

   mechnical changes: ncas to ca_tree, ncas_hist to nca_hist_tree, tree to
   ca_tree, and needle to nca_hist_needle.

   OK tb@
VersionDeltaFile
1.16+24-21usr.sbin/rpki-client/nca.c
1.320+3-3usr.sbin/rpki-client/main.c
+27-242 files