[mlir] Add mlir-opt-repl: interactive MLIR pass pipeline explorer and MCP server
A pip-installable Python package (mlir-opt-repl) that provides:
- An interactive terminal REPL for applying mlir-opt passes step by step,
with history navigation, rewind, and colored unified/side-by-side diffs.
- An MCP (Model Context Protocol) server for use as a Claude Code tool,
exposing the same functionality over JSON-RPC stdio.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
net/liferea: Add a patch to downgrade the required glib-2.0 version
to make sure the port can be built from the FreeBSD ports branch 2026Q2.
The port already contains a patch to add compatibility code
for glib-2.0 versions before 2.86.0 since e8b5b5dee.
PR: 296020
[mlir][LLVM] Add the `byte` type to the LLVM dialect
This PR ports the newly added `byte` type from LLVM IR to mlir's LLVM dialect.
The simplest motivation for the byte type is being able to implement `memcpy` in LLVM IR. This was previously not possible: Due to rules around conversions between integers and pointers (which e.g. implicitly happen during loads), partial-poisons and pointer provenance were not preserved.
No alterantive types to integers existed that one could use to have poison and provenance preserving SSA-values. The byte type solves exactly this issue.
Frontends are encouraged to use it when needed for better optimization capabilities.
Currently, the only operation that has changed semantics around `byte` is `bitcast`. Is now allows casting between `byte` and `ptr` (unlike integers and pointers).
Corresponding LLVM commit: https://github.com/llvm/llvm-project/commit/80f2ef70f592
Assisted by Claude & Gemini
[X86] Remove shouldCastAtomicLoadInIR; use DAG combine instead (#199520)
Remove X86's shouldCastAtomicLoadInIR override that cast FP atomic loads
to integer at the IR level. Instead, handle this in a pre-legalize DAG
combine (combineAtomicLoad) that rewrites FP/FP-vector atomic loads to
integer atomic loads plus a bitcast.
This and #199310, which adds the necessary cmpxchg support for
non-integer atomic loads in AtomicExpand, are a response to
https://github.com/llvm/llvm-project/pull/148899 for `atomic_vec4_float`
of `atomic-load-store.ll`.
Stacked above #201303.
bge: read MAC from loader hint for boards without NVRAM/EEPROM
BCM57766 on Apple T2 Macs (Macmini8,1) has no dedicated EEPROM and the
chip firmware handshake fails (the T2 intercepts PCI config space),
leaving the SRAM mailbox unpopulated. All four existing MAC retrieval
paths (SRAM mailbox, NVRAM, EEPROM, firmware stub) fail, causing bge to
abort attach with "failed to read station address".
Work around this with two changes:
1. Tolerate EEPROM read failure on BCM57766. The chip is copper-only
so hwcfg=0 is correct; skip the fatal error that aborts attach
before bge_get_eaddr() is ever called.
2. Implement bge_get_eaddr_fw() to read a "hint.bge.N.mac" string
(e.g. "f0:18:98:f4:1e:2f") from loader(8) tunable / kenv.
This is a workaround until the T2 BCE API is understood well enough to
either poke the chip firmware into completing its handshake or read the
[4 lines not shown]
asmc: fix asmc_key_dump() page fault on T2 MMIO backend
asmc_key_dump() used I/O port macros (ASMC_DATAPORT_WRITE/READ,
asmc_command()) unconditionally. On T2 Macs, sc_ioport is NULL
(MMIO backend is used instead), causing a page fault when
ASMC_DEBUG triggers asmc_dumpall() during attach.
Add an MMIO guard at the top of asmc_key_dump(): delegate to
asmc_key_dump_by_index() + asmc_key_read() for MMIO devices,
consistent with the rest of the T2 code paths.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D56748
apple_bce/vhci: add T2 virtual USB host controller
Implements a VHCI driver on top of the BCE transport:
- Virtual USB bus registration via usb_controller
- Port discovery and device enumeration
- Control, interrupt, and bulk endpoint support
- Firmware event handling with taskqueue
- Suspend/resume via BCE mailbox
Provides keyboard, trackpad, and Touch Bar access on T2 Macs.
Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D57089
apple_bce: add Apple T2 Buffer Copy Engine driver
DMA ring transport between the host and the T2 coprocessor.
Provides mailbox handshake, queue setup, and firmware keepalive
for higher-level T2 services (VHCI, audio, etc.).
Tested-on: MacBookPro16,2 (A2251), Mac mini 8,1 (A1993)
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D57088
cad/freecad: attempt to fix build on CURRENT
hard cast to make call to abs unambiguous
Error was:
/wrkdirs/usr/ports/cad/freecad/work/FreeCAD-1.1.1/src/Mod/TechDraw/Gui/CommandCreateDims.cpp:1106:52: error: call to 'abs' is ambiguous
1106 | int alpha = std::round(Base::toDegrees(std::abs<float>(std::atan(type == "DistanceY" ? (dx / dy) : (dy / dx)))));
Fix various errors in redrawing:
- Fix the active pane colour when only two panes and scrollbars enabled.
- Clip left and right scrollbars the same for floating panes.
- Do not subtract scrollbar width twice when working out width of status
line.
- Check if a character is inside a visible range correctly (do not
include the next position outside the range).
[LV] Use ResumeForEpilogue for header phi resume in epilogue plan (NFC) (#203786)
Pass the ResumeForEpilogue VPInstructions created by
preparePlanForMainVectorLoop into preparePlanForEpilogueVectorLoop and
get the resume IR from ResumeForEpilogue::getUnderlyingValue()
www/freenginx-devel: third-party modules management (+)
Update third-party modules to their recent snapshots:
- keyval
- lua
- mod_zip (moves back to its original author's repo)
Bump PORTREVISION.
Sponsored by: tipi.work