[mlir][scf] Fuse parallel loops with equal constant bounds (#218450)
Two `scf.parallel` loops that run over the same range were not being
fused if
their bounds came from different `arith.constant` ops.
Both loops here go from 0 to 16 by 1, so they should fuse, but they do
not:
```mlir
%c0 = arith.constant 0 : index
%c16 = arith.constant 16 : index
%c1 = arith.constant 1 : index
scf.parallel (%i) = (%c0) to (%c16) step (%c1) { ... }
%c0_0 = arith.constant 0 : index
%c16_1 = arith.constant 16 : index
%c1_2 = arith.constant 1 : index
scf.parallel (%i) = (%c0_0) to (%c16_1) step (%c1_2) { ... }
[33 lines not shown]
[MLIR] fix: ValueBoundsConstraintSet invalidates queue (#218612)
populateConstraints(AffineMap, ValueDimList) updates positionToValueDim,
changing the meaning of all elements in the worklist. In order to
preserve the correct mapping, I've changed the element type to ValueDim.
The new lit tests show the example where the issue happened.
Assisted-by: Cursor / Grok 4.6
wireguard: FreeBSD 15 no longer allows addresses without netmasks; closes #10746
> The command </sbin/ifconfig 'wg0' 'inet' '10.0.0.2' alias> returned
> exit code 1 and the output was "ifconfig: ERROR: setting interface
> address without mask is no longer supported."
In 0fdb755 we did a similar change for the client side, but left the
server side as is. Since this no longer works in FreeBSD we can simply
tighten the validation instead of trying to guess what FreeBSD ifconfig
would have guessed from the IP address.
Still don't think this was a thing that should have been broken, but
it is what it is.
(cherry picked from commit 0b3c513bacb69b0167953ead0a94a70739a77d61)
mvc: add generic JSON audit metadata field for model records and implement in firewall [2]
minor additions to https://github.com/opnsense/core/pull/10726 in order to fix migrations.
[AArch64][SDAG][NFC] Use CNTP intrinsic for compressstore lowering (#218353)
Currently, when lowering compressstore the process is to Zero Extend,
VECREDUCE_ADD and then Zero Extend the result for types that are not
i64. This for i8/i16 types does not work as AArch64 cannot zero extend
these types to i64. Instead, use the CNTP intrinsic to combine the
values before storing them.
ipsec: patch id for actions into field
This doesn't change anything, but this makes sense given we
needed it in the previous commit.
(cherry picked from commit 0e1f66facf6c2ea475cc88ebfbdc6116fa2108da)
cron: handle missing job during deletion (#10773)
* cron: handle missing job during deletion
* Update src/opnsense/mvc/app/controllers/OPNsense/Cron/Api/SettingsController.php
Co-authored-by: Ad Schellevis <AdSchellevis at users.noreply.github.com>
---------
Co-authored-by: Ad Schellevis <AdSchellevis at users.noreply.github.com>
(cherry picked from commit 892d98b46f73dd626d35738a700d30e7fbd45e63)
system: approximate user being expired in the grid
This would only be correct if the backend gave us a
definitive expired message based on the time zone.
The historic issue is that the expiration no longer
sets disabled, but it's still a useful visual clue.
PR: https://forum.opnsense.org/index.php?topic=52759.0
(cherry picked from commit 5423ae8fb8c05922a3a46858f0554606dcc5e0b6)
[ConstraintElim] Avoid overflow when negating offsets (#218580)
This patch fixes a miscompilation in ConstraintElimination caused by
negating an INT64_MIN offset while constructing a constraint.
Use MulOverflow when negating the decomposed offset and skip constraint
construction if the negation overflows.
Fixes: #218569.
[CodeGen] Speed up instruction insertion with debug info (NFCI) (#218373)
Debug instructions don't have slot indexes, so no need to look them up
when searching for the nearest indexed instruction.
This avoids unnecessary lookups (that would all fail) in functions with
a lot of debug info.
[ORC] Harmonize the SimpleRemoteEPC hangup protocol (#218586)
A Hangup message now always carries a serialized Error saying why the
session is ending -- success for an orderly disconnect, otherwise the
reason -- encoded and decoded through shared helpers so the two ends of
the protocol cannot drift apart. SimpleRemoteEPC::disconnect sends one,
and SimpleRemoteEPCServer decodes the payload it previously discarded.
Both ends now also report an error when the transport disconnects
without either side having announced a hangup. Previously the executor
exited successfully whether the controller hung up or vanished, so a
crashed controller was indistinguishable from a clean run. The cause of
such a disconnection isn't knowable, so the error states what was
observed rather than attributing it.
This aligns SimpleRemoteEPC/SimpleRemoteEPCServer with upcoming ORC
runtime patches that will introduce a SimpleRemoteEPCServer-compatible
ControllerAccess implementation.