[Flang][OpenMP] Fix use_device_addr descriptor types (#222961)
Fix invalid FIR for assumed-shape arrays in use_device_addr by using
matching descriptor-reference types and loading the descriptor inside
the region. Added tests.
Co-authored-by: Codex <codex at openai.com>
NAS-143028 / 27.0.0-BETA.1 / Only treat EZFS_NOENT from open_pool as a missing pool in zpool.query (by creatorcary) (#19702)
`query_impl()` wraps both `open_pool()` and the status collection in one
`try`, so an `EZFS_NOENT` raised while reading the pool's error log is
handled as "pool does not exist" and a healthy pool is silently dropped
from the results. Narrow the handler to `open_pool()` so any other
failure propagates. Pairs with truenas/truenas_pylibzfs#307, which stops
`status()` raising on that error in the first place.
Original PR: https://github.com/truenas/middleware/pull/19701
Co-authored-by: Logan Cary <logan.cary at ixsystems.com>
[libc][Bazel] Add missing F16 math targets (#222937)
Addresses #221799 by adding all existing F16 tests that were missing
Bazel targets.
Validated by running all 184 F16 tests with bazel test.
WebAssembly: Introduce ExceptionHandling::EmscriptenEH model
Add a dedicated EmscriptenEH exception model so the control uses
the standard exception model control, instead of relying on a backend
specific cl::opt. This will later migrate to a module flag and
remove -enable-emscripten-cxx-exceptions
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
[RISCV] Don't use VL node when lowering scalable mask reductions
Using ISD::XOR gives us the generic not (setcc cc) -> setcc inverse-cc combine.
Restricted to just scalable vectors since some fixed vector patterns break without the VL node.
The VP test doesn't improve because
1) VP reductions get legalized during regular op legalization, not vector legalization
2) so generic DAGCombines don't get a chance to run before the (splat_vector 1) is legalized to vmset_vl.
We can fix this by keeping the (splat_vector 1) legal, but this is left to another PR.
NAS-143028 / 26.0.0 / Only treat EZFS_NOENT from open_pool as a missing pool in zpool.query (#19701)
`query_impl()` wraps both `open_pool()` and the status collection in one
`try`, so an `EZFS_NOENT` raised while reading the pool's error log is
handled as "pool does not exist" and a healthy pool is silently dropped
from the results. Narrow the handler to `open_pool()` so any other
failure propagates. Pairs with truenas/truenas_pylibzfs#307, which stops
`status()` raising on that error in the first place.
ARM: Track CPSR liveness in Thumb2SizeReduction without kill flags
Thumb2SizeReduction narrows a 32-bit instruction to its flag-setting
16-bit form only when CPSR is dead afterwards. It determined this from
kill flags on CPSR operands. Kill flags have been semi-deprecated
for over a decade, so avoid relying on them. Liveness should be evaluated
as a reverse walk over a block.
The existing forward walk over the block is still necessary as a separate
step for the different A9 avoidCPSRPartialUpdate optimization.
Co-Authored-By: Claude claude-opus-4.8 <noreply at anthropic.com>
[CIR][X86] Emit cir.clz/cir.ctz for lzcnt/tzcnt builtins (#222669)
These x86 builtins were lowered through cir.call_llvm_intrinsic even
though dedicated CIR bit-count ops already exist.
Assisted-by: grok-4.6
Signed-off-by: Letu Ren <fantasquex at gmail.com>
zfs: merge openzfs/zfs at 02b5baf13
Notable upstream pull request merges:
#18808 6d4ff3b4f Pool split leaks DTL spacemap objects
#18844 0833cfd64 Decline Direct I/O reads on a file handle after a benign
verify failure
#18853 39764eb06 Fix double free when cloning a block with a pending free
#18901 51fe1fb84 dmu_send: a meta-dnode range does not start where an
object does
#18903 904d4327f dmu_objset_open_impl: unregister prop callbacks on error
#18906 e45640415 zdb: add detailed diagnostics for MOS leaks and spacemap
refs
#18909 1b7143557 Keep a grown vdev from adopting an older pool's labels
#18912 -multiple Defer destruction of a snapshot that a mount is holding
open
#18921 33ae06bb6 ZIO: Batch vdev children completions
#18940 7853c27eb ZIO: Batch lightweight ZIOs
#18967 -multiple Speed up pool rewind and allow it to tolerate minor damage
[33 lines not shown]
[clang][bytecode] Improve array index and offset add/sub bounds checks wrt. opaque pointers (#223353)
We were previously causing an assertion since the index had more than 64
bits.
[mlir][dataflow] Deduplicate data-flow solver worklist items (#221983)
The solver enqueues a work item every time a state it depends on
changes, so the same item can appear in the worklist many times.
A duplicate work item is re-processed even though its inputs have not
changed since the previous processing. For example, a dense analysis can
visit a join point with N predecessors up to N times in a row.
To deduplicate the worklist, pending items are tracked using a
`DenseSet`, and an item that is already pending is not pushed again.
Items are removed from the set when dequeued, before being visited, so
an analysis can still re-enqueue the point it is currently visiting.
Since analyses already have to be monotone to reach a fixed point, this
change does not affect analysis results, only the number of visits until
convergence. The test `FooState` used XOR for the join operation, which
is not monotone; the join operation was switched to OR and dependent
tests were updated.
A test that counts how many times a join block with several predecessors
is visited was added to check the deduplication.
[BOLT][RISCV] Support reading RV64 RELR relocations (#222265)
Clang linked with packed relative dynamic relocations aborts when the
RELR reader requests the target relative relocation type. Return
`R_RISCV_RELATIVE` for RV64, preserving the RV32 restriction and other
targets.
Assisted by GPT-6.
[mlir][NVVM] Add packed EX2 operations (#220501)
Add NVVM dialect operations for the public packed EX2 PTX instructions:
* `nvvm.ex2.f16x2` lowers to `ex2.approx.f16x2`
* `nvvm.ex2.bf16x2` lowers to `ex2.approx.ftz.bf16x2`
The existing scalar `nvvm.ex2` operation is unchanged. Includes LLVM IR
translation tests for both overloads.