Mk/Uses/electron.mk: Use absolute path for jq and yq commands
Using bare "jq" or "yq" in a parse-time != assignment fails with a
minimal PATH, printing "/bin/sh: jq: not found". Running jq/yq with
absolute path prevents the error.
PR: 299151
Reported by: dvl
Reviewed by: mat
Co-authored-by: Dan Langille <dvl at FreeBSD.org>
[MLIR][Remark] Report why the LLVM remark streamer could not be created
LLVMRemarkStreamer::createToFile dropped the reason it failed: a file that
could not be opened and a serializer that could not be created both turned
into a bare failure, and enableOptimizationRemarksWithLLVMStreamer failed
without a diagnostic.
- createToFile returns llvm::Expected. It opens the file with
mlir::openOutputFile and returns its message; a serializer error is
returned as a FileError naming the file.
- enableOptimizationRemarksWithLLVMStreamer emits the error on the context.
Assisted-by: Claude Code (Claude Opus 5.5)
[IR] Name unnamed values after each pass (#221519)
Unnamed IR values are hard to follow in pass-by-pass output. Their
printed
numbers can shift when a pass adds or removes values.
Add the hidden `-instnamer-after-each-pass` option to name unnamed
arguments,
basic blocks, and non-void instructions before the first snapshot and
after
each new pass manager pass. It reuses InstructionNamer and keeps a
counter
across the pipeline, so a generated name is not reused after its value
is
removed. Existing names are preserved.
This makes text snapshots easier to compare, but names do not identify
instruction objects: a pass can transfer or reuse an existing name. The
ordinary `instnamer` pass and `-print-changed=diff` output are
unchanged.
[ARM][Disassembler] Add missing predicates when decoding Thumb barriers (#223540)
`DecodeThumb2BCCInstruction` omits predicate operands for Thumb barriers
when the data-barrier feature is disabled, causing llvm-objdump
--arch-name=thumb to abort.
Add the missing operands using the current IT state, with disassembler
and llvm-objdump regression tests.
Fixes #193877
graphics/photocraft: Native image editor with layers, masks, type and PSD support
PhotoCraft is an open-source, native image editor written in Rust that works
the way Photoshop users expect: layers, masks, adjustment layers, layer
styles, type, vectors, brushes and selections, with 8/16/32-bit documents
and layered PSD/PSB files that round-trip. The canvas is composited on the
GPU through wgpu, with a CPU compositor as the reference.
The package also installs photocraft-cli, a headless converter and command
runner for batch work and automation.
[RISCV] Generalize combineBinOpOfZExt to allow sext
The combine currently only handles cases where both operands are zext, but we can also allow sext.
If any operand is sexted then we need to sext the result as the sign bit may not be zero.
We can't handle udiv + urem if either of the operands are sext, since sign extending a narrower udiv/urem gives incorrect results. E.g. `udiv (sext (i8 -1) to i32), (zext (i8 2) to i32)`:
- At i32: `udiv 0xffffffff, 2 = 0x7fffffff`
- Narrowed to i16: `sext (udiv 0xffff, 2) to i32 = sext 0x7fff to i32 = 0x00007ffff`
arm64/vmm: vgic_v3: Fix missing free of vgic_cpu->private_irqs
vgic_cpu->private_irqs is allocated but never freed, as a result leaking
memory whenever the vmm module is unloaded. Add the missing free.
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/2439
arm64/vmm: vgic_v3: Set EOI for level-triggered interrupts
ICH_LR_EL2 bit 41 (EOI) determines whether a maintenance interrupt will
be asserted if the interrupt identified by the LR's vINTID is
deactivated. For level-triggered interrupts, that maintenance interrupt
is necessary for the host to resample the current level once the
interrupt is deactivated.
Set the EOI bit when flushing level-triggered interrupts into LRs.
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/2437
arm64: Fix the MPIDR_EL1 field names
Use the field names from the Arm Documentation for the MPIDR_EL1
register. These will later be generated from a BSD Licensed JSON file
so to reduce the diff for that rename now.
Reviewed by: kajetan.puchalski_arm.com
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D59176
arm64: Use sysinsn.h to generate tlbi instructions
Some toolchains may not understand the .arch_extension.
Reviewed by: jhb
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D59148
arm64: Add a header for system instructions
Like armreg.h for system registers add a header to hold macros for
system instructions.
Reviewed by: jhb
Sponsored by: Arm Ltd
Differential Revision: https://reviews.freebsd.org/D59147
benchmarks/iperf: modernize server mode (#5773)
* benchmarks/iperf: modernize server mode
Replace the legacy Ruby manager and its persistent socket service with a short-lived Python helper invoked through configd. Store transient jobs and JSON results in /tmp, reject duplicate ports, and support removal of running instances.
Move the server UI to an in-memory Instance model and client-style Bootgrid view under /ui/iperf/index/instance. Drop firewall manipulation, service registration, and Ruby dependencies.
* Update benchmarks/iperf/src/opnsense/mvc/app/controllers/OPNsense/iperf/Api/InstanceController.php
* server should start persistently, not one shot, and always show the last test result. That is more user friendly
* use json-stream so we can distinguish between a running and waiting iperf server
* change status icons slightly
* Add start/stop commands to client and server
* use a filter on the commands
[21 lines not shown]
[CIR] Find conditional cleanups in implicit code (#229829)
`ConditionalEvaluationFinder` in `CIRGenCleanup` skipped implicit code
because that's the default for `RecursiveASTVisitor`. This lead to
default arguments and default member initializers being skipped.
This patch enables the traversal of implicit code with the exception of
the implicit call to `await_resume()` in `co_await` and `co_yield`
expressions. This requires cleanup scopes for await full-expressions
which don't exist yet.
---------
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[LLVM][CodeGen][SVE] Add lowering for bfloat strict-fp cast operators. (#223709)
The majority of the changes are just a case of ensuring the chain is
routed correctly and the matching STRICT passthrough node is used.
NOTE: At present full strict-fp support has a minimum requirement of
+sve2+bf16, otherwise we lack the necessary cast instructions. Of these
+bf16 is fundamental whereas +sve2 is only required for double->bfloat.
x11/quickshell: Fix a use-after-free in Hyprland IPC requests
HyprlandIpc::makeRequest() deletes the request socket inside the
socket's own readyRead handler, after which QIODevice touches the
deleted object. With FreeBSD-CURRENT's malloc junk filling every
Hyprland session crashes the shell with SIGBUS on its first
request. Defer the deletion and disconnect the socket so the callback
runs once.
Closes: https://github.com/freebsd/freebsd-ports/pull/634
Reported by: Jordan Hubbard <jordanhubbard at gmail.com>
Pull Request: https://github.com/freebsd/freebsd-ports/pull/634
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
x11/quickshell: Fix a use-after-free in Hyprland IPC requests
HyprlandIpc::makeRequest() deletes the request socket inside the
socket's own readyRead handler, after which QIODevice touches the
deleted object. With FreeBSD-CURRENT's malloc junk filling every
Hyprland session crashes the shell with SIGBUS on its first
request. Defer the deletion and disconnect the socket so the callback
runs once.
Closes: https://github.com/freebsd/freebsd-ports/pull/634
Reported by: Jordan Hubbard <jordanhubbard at gmail.com>
Pull Request: https://github.com/freebsd/freebsd-ports/pull/634
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[SLP]Fix poison shift after MinBW demotion
Lanes converted from mul-by-power-of-2 are emitted as shl by the
exponent; check the node shift amounts, not the scalar operands.
Fixes #230392
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/230464
Reenable RVV code that it compiles
Brad backported an llvm fix for the type mismatch that was plaguing the
riscv vector intrinsics. Also Brad added runtime detection to this port
through elf_aux_info(3) earlier this summer, so we can now enable the RVV code
in highway. But don't drop -DHWY_CMAKE_RVV=OFF, because it would make
unconditional use of RVV through CFLAGS, and OpenBSD/riscv64 doesn't assume
RVV support / RVA23.