pkg_add: remove existing file before renaming temp directory
When extracting a package, if a file or symlink exists at the
target path of a temporary directory, renameat() fails. This can
happen when a package replaces a symlink with a real directory
(e.g., symlink-to-directory transitions between package versions).
Remove the existing entry before the rename, matching the logic
already applied for regular files later in pkg_extract_finalize().
Fixes: #2041
[mlir][affine] Fix crash in affine-super-vectorize for index constants inside loops (#184614)
When an arith.constant of index type is defined inside the loop body
being vectorized, vectorizeConstant creates a vector<Nxindex> constant
and registers it as the vector replacement. However,
getScalarValueReplacementsFor (used by vectorizeAffineStore to compute
indices for vector.transfer_write) looks only in the scalar replacement
map. With no scalar replacement registered for the index constant, it
falls back to the original scalar value, which is erased when the scalar
loop is cleaned up. This results in a "operation destroyed but still has
uses" crash.
Fix: when vectorizeConstant processes an index-typed constant, also
create a new scalar constant in the vector loop body and register it as
the scalar replacement. This ensures that memory operation index
computation can find a live value in the vectorized IR.
Fixes #122213
Assisted-by: Claude Code
[IR] Split Br into UncondBr and CondBr (#184027)
BranchInst currently represents both unconditional and conditional
branches. However, these are quite different operations that are often
handled separately. Therefore, split them into separate opcodes and
classes to allow distinguishing these operations in the type system.
Additionally, this also slightly improves compile-time performance.
NAS-140227 / 26.0.0-BETA.2 / Skip stop wait for already-inactive/failed systemd units (by bmeagherix) (#18421)
This avoids messages like the below that have been in recent builds (esp
HA STANDBY node):
```
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - wg-quick at ix-truecommand.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - docker.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - nfs-server.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - nfs-mountd.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - truenas-webshare-auth.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - smbd.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():490 - wg-quick at ix-truecommand.service took 95.07s to stop (abnormally slow)
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - libvirt-guests.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - truesearch.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():458 - proftpd.service Stop job timed out after 95.0s, continuing to wait for process exit
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():490 - docker.service took 95.08s to stop (abnormally slow)
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():490 - nfs-server.service took 95.08s to stop (abnormally slow)
[2026/03/10 16:11:28] (WARNING) middlewared.plugins.service_.services.base._stop_unit_and_wait_for_exit():490 - nfs-mountd.service took 95.08s to stop (abnormally slow)
```
[4 lines not shown]
devel/libvirt: enable BHYVE option on arm64
Currently, the BHYVE option is available only if "/usr/sbin/bhyveload"
is present. However, bhyveload(8) is not present on arm64.
To make the BHYVE option available on arm64 too, update
the condition to check for the "/usr/sbin/bhyve" path instead.
Sponsored by: The FreeBSD Foundation
[AMDGPU] Set preferred function alignment based on icache geometry (#183064)
Non-entry functions were unconditionally aligned to 4 bytes with no
architecture-specific preferred alignment, and setAlignment() was used
instead of ensureAlignment(), overwriting any explicit IR attributes.
Add instruction cache line size and fetch alignment data to GCNSubtarget
for each generation (GFX9: 64B/32B, GFX10: 64B/4B, GFX11+: 128B/4B). Use
this to call setPrefFunctionAlignment() in SITargetLowering, aligning
non-entry functions to the cache line size by default. Change
setAlignment to ensureAlignment in AMDGPUAsmPrinter so explicit IR align
attributes are respected.
Empirical thread trace analysis on gfx942, gfx1030, gfx1100, and gfx1200
showed that only GFX9 exhibits measurable fetch stalls when functions
cross the 32-byte fetch window boundary. GFX10+ showed no alignment
sensitivity. A hidden option -amdgpu-align-functions-for-fetch-only is
provided to use the fetch granularity instead of cache line size.
Assisted-by: Claude Opus