[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#225319)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
We must use dyn_cast_if_present here because the operands can be null,
which I have verified with assert(!isNull()) on check-clang.
Assisted-by: Antigravity
ZTS: Speed up replace_resilver_sit_out
Reduce replace_resilver_sit_out test time from 1:14 to 30sec.
- Use 4 "lanes" in zinject instead of 1.
- Use a 1M recordsize to speed up replacements.
- Use 1 second zfs_txg_timeout to help with replacement
Also, double the number or reads to more reliably hit the sit-out
condition. This test has been flaky in the past.
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Alexander Moch <mail at alexmoch.com>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes #19156
[lldb-dap] Fix global-scope evaluate always routing to command interpreter (#225243)
DetectReplMode returned Command unconditionally when there was no frame,
since it couldn't check FindVariable without one. A frameless evaluate
(no frameId, e.g. `(int)getpid()`) was always treated as an unknown
command instead of an expression.
Fall back to SBTarget::FindFirstGlobalVariable when there's no frame:
DAP::target is valid independent of frame, so globals/statics can still
be checked without one.
rdar://187884135
[LV] Rework legacy widen/replicate in tryToBuildVPlan (NFC) (#224569)
The code has been rewritten for clarity:
- An RPOT traversal is unnecessary, and a depth-first will do.
- The list of recipes to be skipped continues to grow, and its utility
is in question. Replace it with a clean make_isa_range over
VPInstructions, and an assert.
- Clarify that tryToCreateWidenNonPhiRecipe is the routine that produces
VPWidenIntOrFpInductionRecipes.
- Clarify the necessity of the underling value.
[flang][acc] Don't treat a managed pointer as device resident data (#222769)
isDeviceData classifies every entity with a device-data CUDA attribute
(device, managed, constant, shared, unified) as device data, and so all
pointers and allocatables under mem:managed/unified are treated as
deviceptr.
However, managed and unified guarantee accessibility from device but not
that the storage is already residing on device. Treating these
unconditionally as "on device" (deviceptr) asserts to the runtime that
it is a valid device address and skips the mapping/attach the runtime
needs.
This patch adds a Util helper "isDeviceResident" which conservatively
returns false for managed/unified.
The guard for deviceptr is changed from isDeviceValue to
isDeviceResident, and does NOT give deviceptr for managed and unified.
These entities are now mapped (copyin/out) instead.
[3 lines not shown]
[X86] AVX10_V2_AUX Implementation (#206888)
- AVX10_V2_AUX builds on AVX10 with FP8/FP4/FP6 format conversions
optimized for AI/ML inference workloads, enabling efficient
low-precision arithmetic
- Narrowing conversions from single-precision to FP8: VCVTPS2BF8,
VCVTPS2HF8, VCVTPS2BF8S, VCVTPS2HF8S with optional saturation, biasing
(VCVTBIASPS2BF8/HF8), and round-to-odd (VCVTROPS2HF8) variants
- Expanding conversions from FP8 to single-precision: VCVTBF82PS,
VCVTHF82PS that widen 8-bit FP formats with masking support
- FP4/FP6 conversions: VCVTBF82BF4S, VCVTHF82BF4S for truncating,
VCVTBF82BF6S, VCVTHF82HF6S for same-size, and expanding VCVTBF42HF8,
VCVTBF62BF8, VCVTHF62HF8
- Support includes instruction definitions, intrinsics, and Clang
headers
[8 lines not shown]
[AArch64] Override hasSideEffects for LDAR/STLR instructions (#224096)
Override `hasSideEffects()` for `LoadAcquire` and `StoreRelease`.
`LoadAcquire` and `StoreRelease` already have their memory ordering
semantics modeled via atomic MMO flags, so they should not additionally
be marked as having unmodeled side effects.
Marking these instructions as having unmodeled side effects caused
`ShrinkWrap::useOrDefCSROrFI()` to conservatively treat basic blocks
containing them as potentially using the stack. This prevented
ShrinkWrap optimizations such as splitting restore points during
post-shrink-wrapping. The tests added in this PR cover this case.
Updated llvm-mca expectations for the affected instructions.
Fixes #223021
zstream: command line and man page cleanup
This PR makes several changes to the user-facing command line syntax and
documentation:
- The `decompress,` `drop_records,` and `recompress` subcommands now
allow naming a stream file on the command line, bringing them into
line with `dump` and `raw.` Reading from standard input remains an
option.
- Tests have been modified to exercise command-line specification of
input files.
- The man page has been updated and copy edited.
- Subcommands are presented in a consistent (alphabetical) order in the
man page, the usage message, and the source code.
- The man page and usage message now use identical names and
[71 lines not shown]
sound: Retire the version constants
They exist only to fill in MODULE_DEPEND() and MODULE_VERSION(), and
every consumer passed the same value for all three, so the version
range never did anything. Use 1, like the rest of the tree does.
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Reviewed by: kib, emaste
Differential Revision: https://reviews.freebsd.org/D59873
sound: Retire the version constants
They exist only to fill in MODULE_DEPEND() and MODULE_VERSION(), and
every consumer passed the same value for all three, so the version
range never did anything. Use 1, like the rest of the tree does.
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Reviewed by: kib, emaste
Differential Revision: https://reviews.freebsd.org/D59873
[libc] Generate a stub for librt.a (#225357)
Created an empty librt.a static archive on Linux to avoid link errors
when build rules explicitly pass -lrt to the linker. Realtime extensions
reside in the main libc.a archive instead.
Follows the pattern set in commit
ede01decbcb34bd2f04b9102ab96664cc6d5aa4b.
Assisted-by: Automated tooling, human reviewed.
Merge tag 'hid-for-linus-2026092202' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
Pull HID fixes from Jiri Kosina:
- new device IDs/quirks (Logitech G502X, Elecom M-XT4DRBK, Steelseries
Arctis 7, Asus Rog Z13 Folio, Lenovo Yoga Slim Gen 11)
- fixes for various code issues found by LLMs
* tag 'hid-for-linus-2026092202' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
selftests/hid: add unnumbered variant to the hid_bpf tests
HID: bpf: fix __hid_bpf_hw_check_params report length
selftests/hid: add define for commonly used buf size
HID: amd_sfh: Validate PCI BAR size before mapping
HID: elecom: fix bus type for M-XGL20DLBK
HID: elecom: Add support for ELECOM M-XT4DRBK (018E)
HID: corsair-void: Fix firmware event packet description
HID: i2c-hid: Add i2c-hid-quirk-bad-input-size quirk for 0911:5288 device
HID: hid-oxp: use cancel_delayed_work_sync() in remove
[11 lines not shown]
[AMDGPU][GISel] Legalize v2bf16 (#223803)
Add V2BF16 legalization for fadd, fsub, fmul, fma, fmin, fmax and
fcanonicalize.
Reorganize rule building for `MinNumMaxNumIeee` and `MinNumMaxNum` so
that each type is handled independently.
Updated old tests and added new tests GlobalISel/fsub.bf16.ll,
GlobalISel/fabs.bf16.ll, GlobalISel/fminnum.bf16.ll and
GlobalISel/fneg.bf16.ll.
Clamp bf16 to 2 elements.
Test with v4bf16.
---------
Signed-off-by: John Lu <John.Lu at amd.com>