FreeBSD/ports f472be9 — audio/chromaprint pkg-plist distinfo

audio/chromaprint: Update to 1.6.2

Only use avtx as the FFT_LIB. Mini script was a temporary line for
facilitating the update of multimedia/ffmpeg from 6.x to 8.x.

Add predictable library name changes to PLIST_SUB.

https://github.com/acoustid/chromaprint/releases/tag/v1.6.1
https://github.com/acoustid/chromaprint/releases/tag/v1.6.2
https://github.com/acoustid/chromaprint/blob/v1.6.2/NEWS.txt
DeltaFile
+5-3audio/chromaprint/Makefile
+3-3audio/chromaprint/distinfo
+2-2audio/chromaprint/pkg-plist
+10-83 files

LLVM/project 3f550f8 — clang/lib/AST/ByteCode Pointer.h

[clang][bytecode][NFC] Use switch in `Pointer::isWeak()` (#234914)

And save two lines.
DeltaFile
+8-10clang/lib/AST/ByteCode/Pointer.h
+8-101 files

LLVM/project f89617d — llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp, llvm/test/CodeGen/X86 inline-asm-direct-mem-output-error.ll

[CodeGen] Address review: report a memory constraint on a label as such

A direct label operand with a memory constraint (e.g. "!m") isn't an
input, so it was reported as a direct memory output. Give it its own
error, and update the comment above the check, which still described only
memory inputs.

Assisted-by: Claude Opus 5.5
DeltaFile
+12-6llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+12-0llvm/test/CodeGen/X86/inline-asm-direct-mem-output-error.ll
+24-62 files

FreeBSD/ports fc1c719 — devel/py-ty Makefile Makefile.crates

devel/py-ty: Update to 0.0.91

Changelog: https://github.com/astral-sh/ty/blob/0.0.91/CHANGELOG.md

Reported by:    portscout
DeltaFile
+25-17devel/py-ty/distinfo
+11-7devel/py-ty/Makefile.crates
+1-1devel/py-ty/Makefile
+37-253 files

LLVM/project 1e4abca — llvm/lib/Target/Sparc DelaySlotFiller.cpp, llvm/test/CodeGen/SPARC 2011-01-11-CC.ll 2011-01-19-DelaySlot.ll

[SPARC] Treat %g0 as a constant in the delay slot pass (#234152)

This allows instructions such as clr, that reads %g0, to be moved past a
compare, that writes to %g0, and into a delay slot. %g0 is always 0, so
there is no dependency.

Assisted-by: Claude
DeltaFile
+62-0llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
+2-4llvm/test/CodeGen/SPARC/2011-01-11-CC.ll
+1-1llvm/lib/Target/Sparc/DelaySlotFiller.cpp
+65-53 files

LLVM/project 892f962 — mlir/lib/Conversion/IndexToLLVM IndexToLLVM.cpp, mlir/lib/Conversion/IndexToSPIRV IndexToSPIRV.cpp

[mlir] Fix signed ceiling division of INT_MIN

Negating INT_MIN causes signed overflow even when its quotient is
representable. For INT_MIN / 2, the Index expansion included:

  %zero = llvm.mlir.constant(0 : i64) : i64
  %n = llvm.mlir.constant(-9223372036854775808 : i64) : i64
  %m = llvm.mlir.constant(2 : i64) : i64
  %neg_n = llvm.sub %zero, %n : i64 // Overflow: -INT_MIN is unrepresentable.
  %div = llvm.sdiv %neg_n, %m : i64
  %result = llvm.sub %zero, %div : i64

The first subtraction wraps back to INT_MIN, producing +2^62 instead of
-2^62. A range inference workaround copied this incorrect sign.

Compute a truncating quotient and increment it only for inexact divisions
with same-sign operands. Use this for Index folding and LLVM/SPIR-V
lowering, and remove the inference workaround to match the Arith expansion.
DeltaFile
+24-27mlir/lib/Conversion/IndexToLLVM/IndexToLLVM.cpp
+23-26mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
+48-1mlir/test/Dialect/Index/index-canonicalize.mlir
+29-5mlir/test/Dialect/Arith/int-range-interface.mlir
+10-17mlir/test/Conversion/IndexToSPIRV/index-to-spirv.mlir
+10-17mlir/test/Conversion/IndexToLLVM/index-to-llvm.mlir
+144-932 files not shown
+149-1288 files

LLVM/project 0fb2b3f — mlir/lib/Conversion/IndexToLLVM IndexToLLVM.cpp, mlir/lib/Conversion/IndexToSPIRV IndexToSPIRV.cpp

[mlir] Fix signed ceiling division of INT_MIN

Negating INT_MIN causes signed overflow even when its quotient is
representable. For INT_MIN / 2, the Index expansion included:

  %zero = llvm.mlir.constant(0 : i64) : i64
  %n = llvm.mlir.constant(-9223372036854775808 : i64) : i64
  %m = llvm.mlir.constant(2 : i64) : i64
  %neg_n = llvm.sub %zero, %n : i64 // Overflow: -INT_MIN is unrepresentable.
  %div = llvm.sdiv %neg_n, %m : i64
  %result = llvm.sub %zero, %div : i64

The first subtraction wraps back to INT_MIN, producing +2^62 instead of
-2^62. A range inference workaround copied this incorrect sign.

Compute a truncating quotient and increment it only for inexact divisions
with same-sign operands. Use this for Index folding and LLVM/SPIR-V
lowering, and remove the inference workaround to match the Arith expansion.
DeltaFile
+22-27mlir/lib/Conversion/IndexToLLVM/IndexToLLVM.cpp
+21-26mlir/lib/Conversion/IndexToSPIRV/IndexToSPIRV.cpp
+43-0mlir/test/Dialect/Index/index-canonicalize.mlir
+29-5mlir/test/Dialect/Arith/int-range-interface.mlir
+10-17mlir/test/Conversion/IndexToSPIRV/index-to-spirv.mlir
+10-17mlir/test/Conversion/IndexToLLVM/index-to-llvm.mlir
+135-922 files not shown
+139-1278 files

LLVM/project 231c432 — clang/include/clang/AST Expr.h, clang/lib/Sema SemaOverload.cpp SemaInit.cpp

[clang][Sema] Expand `#embed` in braced lists that initialize non-aggregates (#231938)

Fixes #222796

A multi-byte `#embed` inside braces is one `EmbedExpr`, and only
aggregate initialization slices it. Every other consumer of the braced
list counted it as a single element, so `X x = { #embed ... }` called
the constructor with the first byte only, and a reference or fixed enum
silently took the first byte instead of being rejected.

`Sema::getInitsWithEmbedExpanded()` hands those consumers the list with
each multi-element `EmbedExpr` split into one single-element `EmbedExpr`
per byte, the same slices aggregate initialization already builds.
Constructor selection, braced-argument overload resolution and CTAD use
it; the single-element and excess-element checks go through the new
`InitListExpr::hasZeroInits()` / `hasOneInit()`. Aggregates still keep
the whole `EmbedExpr`.

For more reference, see https://github.com/llvm/llvm-project/pull/218262

    [2 lines not shown]
DeltaFile
+157-1clang/test/SemaCXX/embed-init-list.cpp
+63-19clang/lib/Sema/SemaInit.cpp
+27-0clang/test/Preprocessor/embed_constexpr.cpp
+13-13clang/lib/Sema/SemaOverload.cpp
+11-0clang/test/Preprocessor/embed_codegen.cpp
+11-0clang/include/clang/AST/Expr.h
+282-334 files not shown
+300-3310 files

LLVM/project 33bb824 — mlir/include/mlir/Dialect/XeGPU/Transforms XeGPULayoutImpl.h, mlir/lib/Dialect/XeGPU/Transforms XeGPUPropagateLayout.cpp XeGPULayoutImpl.cpp

[MLIR][XeGPU] Rematerialize layout conversion sources after conflict resolution (#230669)

This PR separates layout conflict resolution from rematerialization. The
resolver now inserts xegpu.convert_layout for conflicts ....a following
step clones eligible, cheap vector producer chains in the target layout
and replaces those conversions. This avoids SLM round trips.
DeltaFile
+204-0mlir/test/Dialect/XeGPU/rematerialize-conversion-sources.mlir
+75-13mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+37-24mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
+15-41mlir/test/Dialect/XeGPU/resolve-layout-conflicts.mlir
+32-0mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
+12-7mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
+375-856 files

FreeBSD/ports 603c56e — games/ags Makefile distinfo

games/ags: Update to 3.6.2.22

https://github.com/adventuregamestudio/ags/releases/tag/v3.6.2.22
DeltaFile
+3-3games/ags/distinfo
+1-1games/ags/Makefile
+4-42 files

FreeBSD/ports 72fee1c — security/gpgmepp pkg-plist Makefile

security/gpgmepp: Update to 2.2.0
DeltaFile
+3-3security/gpgmepp/distinfo
+1-1security/gpgmepp/pkg-plist
+1-1security/gpgmepp/Makefile
+5-53 files

FreeBSD/ports 5635497 — security/gpgme pkg-plist Makefile

security/gpgme: Update to 2.2.0
DeltaFile
+3-3security/gpgme/distinfo
+1-1security/gpgme/pkg-plist
+1-1security/gpgme/Makefile
+5-53 files

LLVM/project 6354b57 — llvm/lib/Target/RISCV RISCVTargetMachine.cpp RISCVLandingPadSetup.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+38-11llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
+28-18llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
+35-8llvm/lib/Target/RISCV/RISCV.h
+31-10llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
+22-7llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
+8-8llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+162-621 files not shown
+167-627 files

LLVM/project 234ee35 — llvm/lib/Target/RISCV RISCVLandingPadSetup.cpp RISCVMakeCompressible.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+43-10llvm/lib/Target/RISCV/RISCV.h
+38-11llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
+28-18llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
+31-10llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
+32-8llvm/lib/Target/RISCV/RISCVMakeCompressible.cpp
+22-7llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
+194-642 files not shown
+210-748 files

LLVM/project bbbc1cb — llvm/lib/Target/RISCV RISCVInstrInfoP.td, llvm/test/CodeGen/RISCV rvp-scalar.ll

[RISCV][P-ext] Add isel patterns for mul.h01/mul.h11 and macc.h01/macc.h11 (#234976)

`mul.h01` multiplies the lower half word of rs1 by the upper half word
of rs2, and `mul.h11` multiplies the upper half words of both.
`macc.h01/h11` add the product to rd.

Previously, (sra X, 16) was selected as a separate srai feeding
`mul/macc.h00`. Match it directly so the shift is folded. As with
`macc.h00`, the macc patterns require the multiply to have a single use.
DeltaFile
+222-0llvm/test/CodeGen/RISCV/rvp-scalar.ll
+15-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+237-02 files

LLVM/project 8bd62b1 — llvm/lib/Target/RISCV RISCVPassRegistry.def RISCVTargetMachine.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+38-11llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
+31-10llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
+27-6llvm/lib/Target/RISCV/RISCV.h
+22-7llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
+6-6llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+4-0llvm/lib/Target/RISCV/RISCVPassRegistry.def
+128-406 files

LLVM/project e22cd33 — llvm/lib/Target/RISCV RISCVTargetMachine.cpp RISCVLandingPadSetup.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+38-11llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
+28-18llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
+35-8llvm/lib/Target/RISCV/RISCV.h
+31-10llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
+22-7llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
+8-8llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+162-621 files not shown
+167-627 files

FreeBSD/ports 542c5c8 — archivers/py-brotli Makefile distinfo

archivers/py-brotli: fix build by updating to the recent version

PR:             299686
Fixes:          1f82b2df36ccb735b728eb37d2c23f142fc8e9fe
Approved by:    portmgr (fix build, implicit)

Sponsored by:   tipi.work

(cherry picked from commit 8f66c3aaf15a4a8460b71d16e6e47d47f331aaee)
DeltaFile
+3-3archivers/py-brotli/distinfo
+1-1archivers/py-brotli/Makefile
+4-42 files

FreeBSD/ports 1b41b88 — archivers/py-brotlicffi Makefile distinfo

archivers/py-brotlicffi: update to 1.2.1.0

PR:             299686
Fixes:          1f82b2df36ccb735b728eb37d2c23f142fc8e9fe
Approved by:    portmgr (fix build, implicit)

Sponsored by:   tipi.work

(cherry picked from commit 07f050b4141304f3e0981a6bfaf5ea9b29a0a75e)
DeltaFile
+3-3archivers/py-brotlicffi/distinfo
+1-1archivers/py-brotlicffi/Makefile
+4-42 files

FreeBSD/ports 665927b — multimedia/vlc Makefile

multimedia/vlc: Chase net/liveMedia update
DeltaFile
+1-1multimedia/vlc/Makefile
+1-11 files

FreeBSD/ports f56566d — net/liveMedia Makefile pkg-plist

net/liveMedia: Update to 2026.10.23

https://download.live555.com/changelog.txt
DeltaFile
+3-3net/liveMedia/distinfo
+2-2net/liveMedia/pkg-plist
+1-1net/liveMedia/Makefile
+6-63 files

FreeBSD/ports 3f5f0ae — audio/mac Makefile distinfo

audio/mac: Update to 13.43

Changes: https://www.monkeysaudio.com/versionhistory.html
DeltaFile
+3-3audio/mac/distinfo
+1-1audio/mac/Makefile
+4-42 files

LLVM/project 342dcd8 — llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize interleave_uncountable_exits.ll

[VPlan] Move extract-lane(0, canWideIV) combine before unrolling

Some extract-lane combines can't be performed before unrolling, e.g. the one that combines it to Instruction::ExtractElement can end up extracting from a different part. But the extract-lane(0, canWideIV) can because at index 0 you're always extracting from the first part. Do this before unrolling, which improves codegen of unrolled code.
DeltaFile
+5-80llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
+16-24llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
+6-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-8llvm/test/Transforms/PhaseOrdering/AArch64/countable-and-uncountable-exits-combined.ll
+1-7llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
+29-1255 files

LLVM/project 0fd85a4 — llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlanUnroll.cpp, llvm/test/Transforms/LoopVectorize interleave_uncountable_exits.ll

[VPlan] Support interleaving early exit loops with side effects

We couldn't do this on main previously because the exit mask `active-lane-mask(0, FirstActiveLane(Cond))` doesn't get unrolled properly across parts. Now that we use mask.beforefirst we can unroll it properly in a chain. The unrolled form is:

    unroll(mask.beforefirst, P) = mask.beforefirst(cond[P] | broadcast(anyof(not(unroll(mask.beforefirst, P-1)))))

On AArch64 this can be combined to brkpb in another patch.
DeltaFile
+216-15llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
+35-4llvm/test/Transforms/PhaseOrdering/AArch64/countable-and-uncountable-exits-combined.ll
+31-7llvm/test/Transforms/LoopVectorize/interleave_uncountable_exits.ll
+11-0llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
+0-9llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+293-355 files

LLVM/project 91884de — llvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize early_exit_combined_exits.ll early_exit_with_stores.ll

[VPlan] Use llvm.mask.beforefirst for computing early exit mask

This makes the cost more accurate and improves codegen for RISC-V. The codegen for an early exit loop with side effects then goes from:

    .LBB0_3:                                # %vector.body
                                            # =>This Inner Loop Header: Depth=1
        vl1r.v  v16, (a3)
        vsetvli zero, zero, e8, m1, ta, ma
        vmseq.vi        v16, v16, 0
        vfirst.m        a7, v16
        srli    t0, a7, 63
        czero.nez       a7, a7, t0
        czero.eqz       t0, a1, t0
        or      a7, t0, a7
        vsetvli zero, zero, e64, m8, ta, ma
        vmsltu.vx       v0, v8, a7
        vle8.v  v17, (a5), v0.t
        vcpop.m t1, v16
        vsetvli zero, zero, e8, m1, ta, ma

    [22 lines not shown]
DeltaFile
+50-50llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
+40-40llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
+18-18llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
+21-0llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+10-10llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
+8-8llvm/test/Transforms/LoopVectorize/early_exit_combined_exits.ll
+147-1267 files not shown
+166-14413 files

LLVM/project 3df1a2e — clang/lib/CIR/CodeGen CMakeLists.txt

[CIR][CMake] Fix MSVC PCH ambiguity after 0173f46b7d9d (#235058)

0173f46b7d9d added a PCH for clangCIR that includes
CIRGenFunction.h, which forward-declares ScalarExprEmitter in an
anonymous namespace. MSVC treats the anonymous namespace from the PCH
as distinct from the one in CIRGenExprScalar.cpp, causing error C2872
('ScalarExprEmitter': ambiguous symbol). Skip the PCH for that file on
MSVC.

Assisted-By: Claude Opus 5.5
DeltaFile
+8-0clang/lib/CIR/CodeGen/CMakeLists.txt
+8-01 files

LLVM/project 6c3fca3 — llvm/lib/Target/RISCV RISCVPassRegistry.def RISCVTargetMachine.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+38-11llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
+31-10llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
+27-6llvm/lib/Target/RISCV/RISCV.h
+22-7llvm/lib/Target/RISCV/RISCVLandingPadSetup.cpp
+6-6llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+4-0llvm/lib/Target/RISCV/RISCVPassRegistry.def
+128-406 files

LLVM/project 15be7ab — llvm/lib/Target/RISCV RISCVPassRegistry.def RISCVTargetMachine.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+38-11llvm/lib/Target/RISCV/RISCVDeadRegisterDefinitions.cpp
+31-10llvm/lib/Target/RISCV/RISCVIndirectBranchTracking.cpp
+19-4llvm/lib/Target/RISCV/RISCV.h
+5-5llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+3-0llvm/lib/Target/RISCV/RISCVPassRegistry.def
+96-305 files

LLVM/project 9758586 — llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen LiveIntervals.cpp SlotIndexes.cpp

[CodeGen] Drop dead SlotIndexes before allocation

SlotIndexes keeps the index list entry of an erased instruction and only
clears its instruction pointer. Live range sizes are measured in slot
indexes and greedy ranks ranges by size, so the leftovers inflate some
ranges more than others and reorder allocation, spilling heavily on
register-starved functions.

Add SlotIndexes::compactIndexes() to erase them. Erased entries are
unlinked, so holding an index to one is now a bug; linkedEntry() asserts
on it. The one analysis that did was LiveIntervals, so add
removeUnreferencedIntervals() to retire the intervals responsible.

Off by default behind -greedy-compact-slot-indexes, since it changes
allocation across much of the test suite.

The test file greedy-compact-slot-indexes-priority.mir by Q. Colombet.
DeltaFile
+288-0llvm/unittests/CodeGen/SlotIndexesTest.cpp
+82-0llvm/test/CodeGen/AMDGPU/greedy-compact-slot-indexes-priority.mir
+43-0llvm/lib/CodeGen/SlotIndexes.cpp
+35-0llvm/test/CodeGen/AMDGPU/greedy-compact-slot-indexes.ll
+23-6llvm/include/llvm/CodeGen/SlotIndexes.h
+17-0llvm/lib/CodeGen/LiveIntervals.cpp
+488-62 files not shown
+504-78 files

LLVM/project a7a659b — llvm/test/CodeGen/X86 greedy-inline-asm-fold.mir

[TargetInstrInfo] Address review: write the two-register flag symbolically

Now that the operand count of an inline asm flag can be written in MIR, use
"reguse:GR64 foldable ops:2" instead of an immediate whose register class ID
changes whenever a register class is added. Regenerate the checks, which
now print the five operands of each x86 memory reference as "ops:5".

Assisted-by: Claude Opus 5.5
DeltaFile
+10-12llvm/test/CodeGen/X86/greedy-inline-asm-fold.mir
+10-121 files