LLVM/project 50a8865 — llvm/lib/Target/AMDGPU SIMachineFunctionInfo.cpp SIMachineFunctionInfo.h, llvm/test/CodeGen/AMDGPU llvm.amdgcn.mfma.form.ll spill-agpr.ll

[AMDGPU] Check the AGPR budget before selecting the AGPR form of MFMA

With -amdgpu-mfma-vgpr-form=0, selectAGPRFormMFMA selects the AGPR form
of an MFMA if the minimum from "amdgpu-agpr-alloc" is at least the
accumulator size. That is not sufficient for an accumulator wider than
128 bits. For such an MFMA, instruction selection selects the tied form,
and if src2 is live after the MFMA, the two-address pass converts it to
the early-clobber form. The early-clobber form needs src2 and vdst in
disjoint AGPRs, which is twice the accumulator size. If the function
cannot allocate that number of AGPRs, for example a 512-bit accumulator
with "amdgpu-agpr-alloc"="16", register allocation fails with "ran out
of registers during register allocation" in SelectionDAG and GlobalISel.

Record in SIMachineFunctionInfo the number of AGPRs that the function
can allocate, from GCNSubtarget::getMaxNumVectorRegs and the
-amdgpu-stress-agpr limit. Select the AGPR form only if that number is
at least twice the accumulator size for an accumulator wider than 128
bits, and at least the accumulator size otherwise. A vdst of 128 bits or
less can overlap src2, so the register allocator can split src2 instead.

    [16 lines not shown]
DeltaFile
+42-70llvm/test/CodeGen/AMDGPU/spill-agpr.ll
+16-1llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+4-0llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+2-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.form.ll
+64-724 files

LLVM/project a69be15 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 extract-wide-index.ll

[SLP] Check extractelement index range in look-ahead score

getShallowScore read the constant indices of extracts from the same
vector with getZExtValue(), asserting on indices wider than 64 bits.
Out-of-range indices produce poison, score them as undef indices.

Fixes https://github.com/llvm/llvm-project/pull/241587?email_source=notifications&email_token=ABI45DQJCWVKKGDGNY4HGSL5ZIJX7A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTMOJQGEYTSOJWGQ22M4TFMFZW63VMON2GC5DFL5RWQYLOM5S2KZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-6901199645

Pull-request: https://github.com/llvm/llvm-project/pull/242870
DeltaFile
+52-0llvm/test/Transforms/SLPVectorizer/X86/extract-wide-index.ll
+6-1llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+58-12 files

FreeBSD/ports edc0271 — textproc/xml2rfc Makefile distinfo

textproc/xml2rfc: Update to 3.35.0

See https://github.com/ietf-tools/xml2rfc/releases/tag/v3.35.0 for a
list of changes in this release.
DeltaFile
+3-3textproc/xml2rfc/distinfo
+1-1textproc/xml2rfc/Makefile
+4-42 files

LLVM/project 62ae5c1 — clang/lib/Frontend CompilerInstance.cpp, clang/lib/Interpreter Interpreter.cpp Wasm.cpp

[clang-repl] Rework -mllvm handling (#242861)

Parse -mllvm for the host and device CompilerInstances before their
IncrementalActions run, returning a bad option as an llvm::Error from
Interpreter::create rather than exiting the process (#197133). Point the
Orc and Wasm TargetMachines, which ignore the parsed options, at the
LLVMContext's library options. Drop the Wasm executor's re-parse with
cl::ParseCommandLineOptions, which rejects library options; lld no
longer resets LLVM options (#242717).

Parse clang-repl's own command line after target initialization with
cl::parseCommandLineOptions, forwarding library options as -mllvm, so
`clang-repl -print-after-isel` works again.

Stop calling llvm_shutdown() after each unittest suite; it destroyed
the option registry that later suites need.

LLM-aided
DeltaFile
+5-21clang/lib/Interpreter/Wasm.cpp
+10-13clang/lib/Frontend/CompilerInstance.cpp
+13-5clang/tools/clang-repl/ClangRepl.cpp
+0-13clang/unittests/Interpreter/InterpreterTestFixture.h
+6-7clang/lib/Interpreter/Interpreter.cpp
+11-0clang/unittests/Interpreter/InterpreterTest.cpp
+45-595 files not shown
+70-7011 files

NetBSD/pkgsrc-wip d7a7ce5 — zellij-git PLIST COMMIT_MSG

Update wip/zellij-git to v.0.46

Some new functionality, own terminal emulator.
DeltaFile
+435-30zellij-git/distinfo
+144-9zellij-git/cargo-depends.mk
+11-1zellij-git/Makefile
+2-1zellij-git/PLIST
+3-0zellij-git/COMMIT_MSG
+595-415 files

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

CodeGen: Simplify def segment extension in shrinkToUses

During extendSegmentsToUses, Segments holds only one def segment per
value, and none extend past their block. Live-in segments are kept
separately in LiveIns. To extend a def to a use, find the last segment
starting before the use, check that it starts in the use's block, and
move its end to the use. This replaces extendInBlock, whose general
search and merging of overlapped segments never applies here.

Also combine the per-block live-out and live-in tables into one struct.

llc instructions:u:
  CTMark x86_64: -0.07%
  CTMark arm64:  -0.10%
  AMDGPU sample: -0.27%

Largest AMDGPU improvements:
  rocprim warp_sort (gfx1100):                    -1.89%
  rocsolver stedc (gfx942):                       -1.70%

    [5 lines not shown]
DeltaFile
+25-26llvm/lib/CodeGen/LiveIntervals.cpp
+14-8llvm/include/llvm/CodeGen/LiveIntervals.h
+39-342 files

NetBSD/pkgsrc-wip 0416ed8 — . Makefile, py-beartype DESCR distinfo

py-beartype: remove, imported to pkgsrc
DeltaFile
+0-1,449py-beartype/PLIST
+0-23py-beartype/Makefile
+0-5py-beartype/distinfo
+0-4py-beartype/DESCR
+1-1py-ksef2/Makefile
+1-1Makefile
+2-1,4836 files

FreeBSD/ports 51d3c91 — x11-toolkits/gtk40 Makefile distinfo

x11-toolkits/gtk40: restore bswap64()/bswap_64() upstream commit

Re-apply commit 4fc89baab1542ec3086176138cffd31ce49fa61f

PR: 300763
DeltaFile
+3-1x11-toolkits/gtk40/distinfo
+3-0x11-toolkits/gtk40/Makefile
+6-12 files

LLVM/project 57021d4 — llvm/include/llvm/CodeGen LiveIntervals.h LiveInterval.h, llvm/lib/CodeGen LiveIntervals.cpp LiveInterval.cpp

CodeGen: Merge shrinkToUses live-in segments in one pass

extendSegmentsToUses visits blocks in worklist order and inserted each
live-in segment into the middle of the segment vector, as did
createSegmentsForValues for the def segments. Sort both and merge them
in one pass instead, with at most one live-in segment per block. The
gain is largest in cases with large live ranges across many blocks.

llc instructions:u:
  CTMark x86_64:                     -0.07%
  CTMark arm64:                      -0.03%
  AMDGPU sample:                     -0.28%

Largest AMDGPU improvements:
  rocsolver potf2-specialized-kernels-d (gfx942):  -4.57%
  rocsolver getf2-small-d (gfx942):                -2.71%
  rocsolver getf2-small-d (gfx1100):               -2.10%
  rocprim warp_sort (gfx1100):                     -1.52%
  Blender Cycles kernel (gfx1030/gfx1100/gfx1201): -0.9%

    [2 lines not shown]
DeltaFile
+50-20llvm/lib/CodeGen/LiveInterval.cpp
+32-2llvm/lib/CodeGen/LiveIntervals.cpp
+4-0llvm/include/llvm/CodeGen/LiveIntervals.h
+4-0llvm/include/llvm/CodeGen/LiveInterval.h
+90-224 files

NetBSD/pkgsrc IEi3g50 — doc CHANGES-2026

   doc: Added textproc/py-owlrl version 7.6.2
VersionDeltaFile
1.8055+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc OivfeGf — textproc Makefile

   textproc/Makefile: + py-owlrl
VersionDeltaFile
1.1623+2-2textproc/Makefile
+2-21 files

NetBSD/pkgsrc T9Yfqrf — textproc/py-owlrl DESCR distinfo

   textproc/py-owlrl: import py-owlrl-7.6.2

   A simple implementation of the OWL2 RL Profile, as well as a basic
   RDFS inference, on top of RDFLib, based on forward-chaining.
VersionDeltaFile
1.1+41-0textproc/py-owlrl/PLIST
1.1+19-0textproc/py-owlrl/Makefile
1.1+5-0textproc/py-owlrl/distinfo
1.1+2-0textproc/py-owlrl/DESCR
+67-04 files

FreeBSD/src 9fe57fe — sys/dev/asmc asmc_sysctl.c asmcmmio.h, sys/modules/asmc Makefile

asmc: rename asmcmmio.{c,h} to asmc_mmio.{c,h}

No functional change.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D61538
DeltaFile
+0-401sys/dev/asmc/asmcmmio.c
+401-0sys/dev/asmc/asmc_mmio.c
+0-56sys/dev/asmc/asmcmmio.h
+56-0sys/dev/asmc/asmc_mmio.h
+1-1sys/modules/asmc/Makefile
+1-1sys/dev/asmc/asmc_sysctl.c
+459-4592 files not shown
+461-4618 files

LLVM/project e6d0154 — llvm/lib/Target/AMDGPU SIMachineFunctionInfo.cpp SIMachineFunctionInfo.h, llvm/test/CodeGen/AMDGPU llvm.amdgcn.mfma.form.ll spill-agpr.ll

[AMDGPU] Check the AGPR budget before selecting the AGPR form of MFMA

With -amdgpu-mfma-vgpr-form=0, selectAGPRFormMFMA selects the AGPR form
of an MFMA if the minimum from "amdgpu-agpr-alloc" is at least the
accumulator size. That is not sufficient for an accumulator wider than
128 bits. For such an MFMA, instruction selection selects the tied form,
and if src2 is live after the MFMA, the two-address pass converts it to
the early-clobber form. The early-clobber form needs src2 and vdst in
disjoint AGPRs, which is twice the accumulator size. If the function
cannot allocate that number of AGPRs, for example a 512-bit accumulator
with "amdgpu-agpr-alloc"="16", register allocation fails with "ran out
of registers during register allocation" in SelectionDAG and GlobalISel.

Record in SIMachineFunctionInfo the number of AGPRs that the function
can allocate, from GCNSubtarget::getMaxNumVectorRegs. Select the AGPR
form only if that number is at least twice the accumulator size for an
accumulator wider than 128 bits, and at least the accumulator size
otherwise. A vdst of 128 bits or less can overlap src2, so the register
allocator can split src2 instead. Keep the check of the minimum as it

    [12 lines not shown]
DeltaFile
+411-0llvm/test/CodeGen/AMDGPU/mfma-agpr-form-num-agprs.ll
+42-70llvm/test/CodeGen/AMDGPU/spill-agpr.ll
+20-36llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.form.ll
+13-1llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+1-0llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+487-1075 files

FreeBSD/src 9345176 — sys/dev/asmc asmc.c asmc_sysctl.c

asmc: make asmc_sysctl_add_system() void

Its only caller already discarded the return value with (void). Match
the other sysctl subtree builders.

Reviewed by:    adrian

Differential Revision:  https://reviews.freebsd.org/D61537
DeltaFile
+2-4sys/dev/asmc/asmc_sysctl.c
+3-3sys/dev/asmc/asmc_sysctl.h
+1-1sys/dev/asmc/asmc.c
+6-83 files

FreeBSD/src 58d8364 — sys/dev/asmc asmc_sysctl.c

asmc: do not report absent sensors as a temperature

A key can exist for a sensor the model was never built with; the SMC
answers those with a fixed sentinel instead of an error. Return ENXIO
for the sentinel instead of publishing it as a reading.

MFC after:      3 days

Reviewed by:    adrian

Differential Revision:  https://reviews.freebsd.org/D61489
DeltaFile
+6-0sys/dev/asmc/asmc_sysctl.c
+6-01 files

FreeBSD/src fcc8bf0 — sys/dev/asmc asmcvar.h asmcmmio.h

asmc: wrap the lines that exceed 80 columns

Remove linter noise.
No functional change.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61488
DeltaFile
+4-3sys/dev/asmc/asmc_sysctl.c
+2-1sys/dev/asmc/asmc_debug.c
+2-1sys/dev/asmc/asmc.c
+1-1sys/dev/asmc/asmcvar.h
+1-1sys/dev/asmc/asmcmmio.h
+10-75 files

FreeBSD/src 49ba287 — share/man/man4 asmc.4, sys/dev/asmc asmc_sysctl.c

asmc: report temperatures in deciKelvin

The handler returned the raw key's high byte, dropping the sign and
fraction of the sp78 encoding, and published -1 on a failed read.

Read through asmc_sensor_read() instead, convert to deciKelvin, and
register the leaves as "IK". Changes the unit of dev.asmc.N.temp.*.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61487
DeltaFile
+12-19sys/dev/asmc/asmc_sysctl.c
+8-2share/man/man4/asmc.4
+20-212 files

FreeBSD/src 5e421b3 — share/man/man4 asmc.4

asmc.4: fix the unterminated SYNOPSIS and FILES blocks

The SYNOPSIS .Bd and the FILES .Bl were both left open, producing two
mandoc block-nesting errors. Reduce SYNOPSIS to the .Cd line man4
style calls for, and close the FILES list.

MFC after:      3 days

Reviewed by:    ziaee, ngie

Differential Revision:  https://reviews.freebsd.org/D61486
DeltaFile
+1-3share/man/man4/asmc.4
+1-31 files

FreeBSD/src cd82709 — sys/dev/asmc asmc_sysctl.c

asmc: propagate sysctl read and write errors

Several handlers discarded the key transport's result: fan speed, SMS
and ambient light handlers published a value regardless of read
success; a rejected fan speed or keyboard backlight write reported success;
fan id returned EPERM on an unreadable key instead of ENXIO.

asmc_fan_getvalue()/asmc_fan_setvalue() now return the error and pass
the speed out by reference instead of returning -1 for failure.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61485
DeltaFile
+40-35sys/dev/asmc/asmc_sysctl.c
+40-351 files

FreeBSD/src e029e26 — sys/dev/asmc asmc_sysctl.c

asmc: register the fan id sysctl with a string format

Every fan sysctl was registered with a hardcoded "I" format, but id
is CTLTYPE_STRING. Carry the format in the table instead.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61484
DeltaFile
+12-8sys/dev/asmc/asmc_sysctl.c
+12-81 files

FreeBSD/src cf3e63b — sys/dev/asmc asmc.c

asmc: clear the sensor counts in detach

The key arrays are freed but the counts were left set, leaving the
softc describing freed memory. Reachable via the attach error path,
which calls detach directly.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61483
DeltaFile
+5-0sys/dev/asmc/asmc.c
+5-01 files

FreeBSD/src 902b401 — sys/dev/asmc asmc.c

asmc: do not drop shutdown notification when the system node fails

asmc_attach() registered the MBSS shutdown-cause handler
(EVENTHANDLER_REGISTER(shutdown_pre_sync, asmc_shutdown, ...))
after attempting to add the dev.asmc.N.system sysctl subtree. If that
subtree registration failed, the error path took goto nosms, jumping clean
over the shutdown-handler registration. On T2 Macs this silently drops
the only thing standing between a clean shutdown and bridgeOS's
watchdog power-cycling the machine.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61482
DeltaFile
+3-4sys/dev/asmc/asmc.c
+3-41 files

FreeBSD/src 14a88ee — sys/dev/asmc asmcvar.h

asmc: remove the unused sc_dev softc field

It was never assigned or read. legacy code.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61481
DeltaFile
+0-1sys/dev/asmc/asmcvar.h
+0-11 files

FreeBSD/src 92f5c74 — sys/dev/asmc asmc.c

asmc: add MODULE_VERSION

Advertise the module's ABI version.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61480
DeltaFile
+1-0sys/dev/asmc/asmc.c
+1-01 files

FreeBSD/src 40d0f9e — sys/dev/asmc asmc.c

asmc: print the last field of the SMC revision correctly

Use be16dec() at the correct offset instead of an unaligned,
off-by-two-bytes read through a cast pointer.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61479
DeltaFile
+1-2sys/dev/asmc/asmc.c
+1-21 files

FreeBSD/src ddf06e9 — sys/dev/asmc asmcvar.h asmc.c

asmc: restore SMC state across suspend/resume

Reinit the SMS interrupt mask, motion thresholds, and shock window on
resume. Guard the backlight rewrite on sc_has_light. Add
device_suspend to release manual fan control before sleep and restore
it on resume.

MFC after:      3 days

Reviewed by:    ngie

Differential Revision:  https://reviews.freebsd.org/D61478
DeltaFile
+93-3sys/dev/asmc/asmc.c
+1-0sys/dev/asmc/asmcvar.h
+94-32 files

LLVM/project 79af43c — llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU mfma-scale.ll

[AMDGPU] Keep metadata when shrinking scaled MFMA fp4/fp6 operands

InstCombine narrows the A/B operands of llvm.amdgcn.mfma.scale.*.f8f6f4
for fp4/fp6 formats by creating a new call, but did not copy the old
call's metadata. Copy it, as the other rewrites in this file do, so
hints such as !amdgpu.mfma.agpr survive.
DeltaFile
+16-0llvm/test/Transforms/InstCombine/AMDGPU/mfma-scale.ll
+2-0llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+18-02 files

LLVM/project 84b751d — llvm/docs AMDGPUUsage.md, llvm/include/llvm/CodeGen SelectionDAG.h

[AMDGPU] Select the MFMA AGPR form from !amdgpu.mfma.agpr metadata

Problem
- Frontends (Triton) pin MFMA accumulators to AGPRs with "=a" inline asm.
- The asm forces VGPR->AGPR copies around every MFMA (v_accvgpr_mov
  + s_nop inside loops), and selection has no way to ask for the AGPR
  form per instruction: it is chosen per function.

Idea: a droppable hint on the MFMA call, read when the form is selected.

  IR    call @llvm.amdgcn.mfma.*(...), !amdgpu.mfma.agpr !{}
          |  SelectionDAGBuilder: TLI.getTargetIntrinsicHint(I)
  DAG   INTRINSIC_WO_CHAIN  --SDEI side table: TargetHint
          |  CanUseAGPR_MAI predicate
  MIR   V_MFMA_..._e64 (AGPR form): C/D are AReg, no copies

How
1. TargetLowering::getTargetIntrinsicHint returns metadata from an
   intrinsic call; SelectionDAGBuilder stores it on the node in the

    [26 lines not shown]
DeltaFile
+499-0llvm/test/CodeGen/AMDGPU/mfma-agpr-metadata.ll
+48-0llvm/test/CodeGen/AMDGPU/amdgpu-attributor-mfma-agpr-metadata.ll
+18-3llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+21-0llvm/docs/AMDGPUUsage.md
+11-0llvm/include/llvm/CodeGen/SelectionDAG.h
+7-0llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+604-34 files not shown
+621-310 files

NetBSD/pkgsrc-wip 3df6fd3 — py-beartype distinfo Makefile

py-beartype: update to 0.23.1.
DeltaFile
+423-240py-beartype/PLIST
+6-1py-beartype/Makefile
+3-3py-beartype/distinfo
+432-2443 files