[RISCV] Fix FP properties for Zvbdota instructions (#228737)
Mark floating-point Zvbdota instructions as potentially raising FP
exceptions. Add an implicit FRM use to vfbdota.vv, which uses the
dynamic rounding mode.
AI Usage: Assisted by AmpCode (6.1 Sol)
Co-authored-by: Amp <amp at ampcode.com>
NAS-144198 / 28.0.0-BETA.1 / Move dataset encryption to zfs.resource.encryption (#19929)
## Problem
Dataset encryption still lived in the `pool.dataset` namespace even
though `zfs.resource` is now the dataset API, and zr's own create path
had to call back into `pool.dataset.insert_or_update_encrypted_record`
to record keys.
## Solution
- **New `zfs.resource.encryption` sub-service** owning lock, unlock,
unlock_summary, export_key, export_keys, export_replication_keys,
change_key and inherit, with zr conventions (`path`, lowercase enums,
`Secret` keys, `ZFS_RESOURCE_*` roles, audit). Public methods delegate
to private `*_impl` methods for thread local storage, as the rest of zr
does.
- **Private methods moved and renamed** (store_key, delete_keys,
stored_keys, sync_keys, encryption_roots, encryption_state,
replication_keys, encryption_root_mapping, unlock_impl), together with
the `storage_encrypteddataset` model. Every internal caller (failover,
[10 lines not shown]
[clang] Replace PointerUnion::dyn_cast with llvm::dyn_cast (NFC) (#230911)
PointerUnion::dyn_cast has been soft-deprecated in favor of
llvm::dyn_cast and llvm::dyn_cast_if_present. This patch replaces the
former with llvm::dyn_cast where the operand is guaranteed to be
nonnull.
Note that PlaceholderBase::ParamOrMethod is always initialized to a
nonnull pointer in LoanManager::getOrCreatePlaceholderBase and never
modified afterward.
Assisted-by: Antigravity
[libc++] Implement LWG2991: variant copy constructor missing noexcept(see below) (#230241)
LWG2991 adds a conditional `noexcept` to the variant's copy constructor.
A small example to illustrate the issue:
```cpp
static_assert(!std::is_trivially_copy_constructible_v<std::shared_ptr<int>>);
static_assert(std::is_copy_constructible_v<std::shared_ptr<int>>);
static_assert(std::is_nothrow_copy_constructible_v<std::shared_ptr<int>>);
static_assert(!std::is_trivially_move_constructible_v<std::shared_ptr<int>>);
static_assert(std::is_move_constructible_v<std::shared_ptr<int>>);
static_assert(std::is_nothrow_move_constructible_v<std::shared_ptr<int>>);
using Variant = std::variant<int,std::shared_ptr<int>>;
static_assert(std::is_nothrow_copy_constructible_v<Variant>); // false, should be true
static_assert(std::is_nothrow_move_constructible_v<Variant>);
```
[9 lines not shown]
mail/rspamd: Update to 4.2.2
Includes fixes for memory safety bugs reachable from the network
(HTTP body handling, DNS replies, UCL nesting, DKIM bh=, fuzzy TCP
sessions) and a controller fix where a malformed password hash
accepted any password.
ChangeLog: https://github.com/rspamd/rspamd/blob/4.2.2/ChangeLog
devel/R-cran-vdiffr: New port
An extension to the 'testthat' package that makes it easy to add graphical unit
tests. It provides a Shiny application to manage the test cases.
[llubi] Check UB before handling ret attributes (#230842)
Some code paths return AnyValue() on UB (e.g., calling function
declarations not recognized as libfunc). Check this before handling ret
attributes to avoid operating on incompatible values.
The test is generated by DeepSeek-V4.1-Flash.
[AMDGPU] Insert wmma coexec aware anti-hints rules (#226397)
This patch ports the downstream coexec anti-hint insertion to upstream
as rule-based insertion in the AMDGPU pre-ra anti-hints framework. It
adds gfx1250x anti-hint rules for wmma coexec hazards such as A/B source
war, swmmac index war, dest waw), trans source war, memory-address war
etc. Each rule builds anti-hints relationship for the register allocator
to keep hazardous registers in different physical registers so the
hazard recognizer and waitcnt inserter need less nop and waits.
Co-authored-by: Jeffrey Byrnes <jrbyrnes1989 at gmail.com>
Depends on #218075
AMDGPU: Don't use PressureDiffs with implicit allocatable physregs
canUsePressureDiffs skipped all implicit operands, so instructions
reading an allocatable physreg implicitly (e.g., vcc on v_cndmask_b32)
used the cached PressureDiff. PressureDiffs assume a single use for
physregs (see the FIXME in ScheduleDAGMILive::updatePressureDiffs), so
the pressure was added for each user. With several users in a region, the
SGPR pressure was overestimated and failed the expensive checks pressure
validation.
Fall back to the RegPressureTracker for implicit operands of
allocatable physregs, which are the ones it tracks.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>