dtrace/arm64: de-pessimize dtrace_copy
When DTrace catches a data abort exception it resumes execution on the
next instruction. If a probe executes copyinto from unmapped memory,
then dtrace_copy keeps faulting on successive bytes until the loop
counter is exhausted. Detect the situation by witnessing the absence
of zero-extension from an aborted unprivileged load.
Reviewed by: markj
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D59341
NAS-141987 / 26.0.0 / Rework snapshot rollback with batched destroys (by Qubad786) (#19675)
## Problem
Rolling back past a snapshot that has a dependent clone crashed: the "no
safety check" path called a `destroy()` method that does not exist on
the pylibzfs dataset object, and the "newer clone" path skipped the
safety check and let the kernel refuse with a raw EEXIST after some
newer snapshots were already destroyed one at a time. With
`recursive_rollback`, a blocked child was only discovered after the
parent had already been rolled back, and every kernel error was
flattened into `ValidationError(EINVAL)` with a raw strerror.
## Solution
- **Enumerate once, up front, for the whole tree.** Newer snapshots are
collected for every affected dataset before anything is touched. Without
`recursive`, the rollback is refused with every conflicting snapshot
named; with it, holds and clones are checked first and the rollback is
refused before any destroy, naming each blocker. A missing child
snapshot fails the whole tree before the parent moves.
[14 lines not shown]
AMDGPU: Use LiveIntervals in SIOptimizeVGPRLiveRange when available
LiveVariables has been long deprecated. Use LiveIntervals if available.
With the current pass structure, this will use LiveVariables.
Co-authored-by: Claude (Claude-Opus-4.8)
NAS-143526 / 26.0.0 / Mock VM and container queries in bridge validation unit tests (#19677)
## Problem
The two bridge unit tests in `test_interface.py` fail with `KeyError:
'vm.query'`. BRIDGE validation now calls `nic_attach_users()` whenever
`bridge_members` is set, which queries VMs and containers to find NICs
attached directly to a member, but the mock middleware in those tests
only stubs `interface.query`, `datastore.query` and
`network.common.check_failover_disabled`.
## Solution
Stub `vm.query` and `container.query` with empty results in both tests,
so validation reaches the member checks the tests actually assert on.
AMDGPU: Remove deprecated getArchAttr and ArchFeatures TableGen (#222462)
Everything should now use getFeatureBitset*
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
[libFuzzer] Modify stop-file.test to support remote devices (#222012)
Currently this test fails when running on remote devices because the
'rm' command only removes the file from the host, and the second part of
the test expects the file to have been removed. This patch changes the later
run command to point to a non-existent file in order to work around this.
rdar://186683123
[AArch64][NEON] Fold insert(zero, extract(X, 0), 0) -> X when X is known to zero lanes 1-N (#213940)
Add patterns for NEON across-lane reductions whose scalar result
is inserted into lane zero of a zero vector.
This is valid because these instructions place their result in lane zero
and
clear the remaining lanes.
Limit this change to matching input and result vector types. Mixed
vector
sizes and scalar conversions are not part of this PR.
Handle llvm.vector.reduce.add.v2i64 separately because it lowers to
ADDP.
NEON has no equivalent instruction for v2i64 signed or unsigned min/max
reductions, so they cannot use this fold. Double-precision
floating-point
reductions are already handled by pairwise instruction patterns.
[SLP][modularisation][NFC] Move BoUpSLP class declaration to SLPTree.h
Move the BoUpSLP class declaration and its nested types out of
SLPVectorizer.cpp into SLPVectorizer/SLPTree.h. This is a pure relocation:
method definitions stay in SLPVectorizer.cpp, and the prerequisite changes
(de-inlining the cl::opt users; seeding SLPTree.h with ReductionVectorPart
and MinScheduleRegionSize) landed earlier in the stack.
The header is included after DEBUG_TYPE is defined because BoUpSLP inline
methods use LLVM_DEBUG. The DenseMapInfo/GraphTraits specializations remain
in SLPVectorizer.cpp.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
misc/py-litellm: Update to 1.100.1
While here, relax upper version limit of py-openai. Also, switch to
py-importlib-metadata to resolve runtime dependency conflict[1].
PR: 298345 [1]
Reported by: cedric <cedric at precidata.com> [1]
[MLIR][Linalg] Remove Linalg named ops (#220916)
Removes the named ops from the Linalg dialect.
I have also updated the ElementwiseOp builder to simplify the default
case: kind + no affine map.
Depends on both unary and binary removal branches. #220905 #220912
This PR also has the final cleanup, which turned out to be simple
enough.
Ref:
https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531
Assisted by: Claude Opus
samba4: updated to 4.24.7
Changes since 4.24.6
--------------------
o Ralph Boehme <slow at samba.org>
* BUG 16097: POSIX ACL backend silently discards erros when processing NT
ACLs with non-canonical ordering
o Volker Lendecke <vl at samba.org>
* BUG 16225: dns client problems related to EDNS usage
o AndrĂŠas Leroux <aleroux at tranquil.it>
* BUG 15988: Samba internal DNS service doesn't handle switch from UDP to TCP
when packet is larger than 4k
o Stefan Metzmacher <metze at samba.org>
* BUG 15988: Samba internal DNS service doesn't handle switch from UDP to TCP
when packet is larger than 4k
[19 lines not shown]
X86: Mark EFLAGS dead on MOV32r0 emitted outside SelectionDAG (#222464)
Currently these get set by LiveVariables after the fact, but
ideally we would not rely on that since it's long overdue for
deletion.
Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
[AMDGPU] Use new CSR cost calculation (#219220)
So far, AMDGPU backend relied on the legacy calculation for the cost of
the first use of a callee-save register. This legacy path scales the
entry block frequency by a fixed value, making a comparison with
alternatives, e.g., rematerialization, difficult due to different
scales. One example for that is the work in
https://github.com/llvm/llvm-project/pull/206756, where comparison of
rematerialization cost and first use of a CSR is hard to compare due to
the different scales.
Change to instead use the new calculation path with different target
hooks for better comparability.
As the new scale is different, the cost was changed. The new cost value
accounts for various factors impacting CSR cost.
This change (with different cost value) was originally part of
https://github.com/llvm/llvm-project/pull/202007. Another part of that
[5 lines not shown]