[clang][flang][OpenMP] Fix context selector matching and scoring
Incorrect context selector matching and scoring can select the wrong
variant function or metadirective replacement.
Compute device-selector weights from the enclosing construct-context
depth. For example, inside a `parallel` region:
| Selector | Before | After |
| ------------------------ | ------ | ----- |
| `device={kind(cpu)}` | 2 | 3 |
| `construct={parallel}` | 2 | 2 |
Previously, the incorrect tie allowed candidate order to determine the
winner. The device selector now receives the higher score.
Track enclosing constructs even when they have no corresponding selector
property. Stop at and include the innermost `target`, or retain the full
enclosing context when there is no `target`. Exclude `section` separators:
[43 lines not shown]
[VPlan] Remove dead per-lane loop from VPScalarIVStepsRecipe::execute. (#224399)
replicateByVF already materializes every lane of a VPScalarIVStepsRecipe
as its own single-scalar clone, folding the lane offset into the clone's
start index (addLaneToStartIndex).
During execute, each VPScalarIVStepsRecipe has exactly its single lane
used.
Replace it with the lane-0 body and an assert. Note that this removes a
few redundant add start, 0.
PR: https://github.com/llvm/llvm-project/pull/224399
[Clang] Move DeclContext::getEnclosingFunction/castEnclosingFunction out of line (#224711)
In DeclBase.h, clang::FunctionDecl is only forward-declared. Commit
c9074cfd0d95 defined getEnclosingFunction() and castEnclosingFunction()
inline in DeclBase.h, which instantiates dyn_cast<FunctionDecl> and
cast<FunctionDecl> on an incomplete type when DeclBase.h is compiled
standalone (e.g. with -fmodules / header units).
Move the non-const definitions to DeclBase.cpp where FunctionDecl is
complete, and delegate the const overloads via const_cast, matching
getOuterLexicalRecordContext() and
getEnclosingNonExpansionStatementContext().
Change prepared by Jetski and reviewed by me.
[libc++][pstl] Implementation of parallel std::uninitialized_(copy|move)(_n) based on parallel __for_each (#223229)
This PR adds an implementation of parallel versions of
`std::uninitialized_copy`, `std::uninitialized_copy_n`,
`std::uninitialized_move` and `std::uninitialized_move_n`.
Implementations are mostly one-liners under the hood, but require
dealing with iterator ranges, hence `std::uninitialized_copy` and
`std::uninitialized_move` are implemented in `cpu_algos`.
`std::uninitialized_copy_n` and `std::uninitialized_move_n` are
implemented in the `default` backend.
Fixes #103640
Fixes #134592
Fixes #134593
Part of #99938
NAS-143768 / 26.0.0 / Fix FC LUN replace/delete targeting wrong sysfs path (by bmeagherix) (#19815)
This is a necessary change following PR #19111
----
Tested manually with FC.
Original PR: https://github.com/truenas/middleware/pull/19814
Co-authored-by: Brian M <brian.meagher at ixsystems.com>
devel/etcd37: Update to 3.7.1
MAKE_ENV=GOWORK=off allows us to get rid of the following error:
```
go: 'go mod vendor' cannot be run in workspace mode.
Run 'go work vendor' to vendor the workspace or
set 'GOWORK=off' to exit workspace mode.
```
[AArch64] Don't emit stack restore for SME ZA non-sibling tail calls
A tail call that isn't a sibling call but still requires the caller to
pop arguments (currently only SME with live ZA state) must keep the
stack-neutral behavior of a sibling call.
[AMDGPU] Use integer LLTs for work-item IDs (#224519)
Type work-item ID preloaded values and special entry-function live-ins
as i32, matching the intrinsic result and the existing GlobalISel and
SelectionDAG lowering. This prevents an s32 live-in type from reaching
the divergent G_AND and lets VgprToVccCopy preserve its source LLT
directly.
The original failure was a GlobalISel cannot-select abort on a 32-bit
VGPR G_AND produced from `llvm.amdgcn.workitem.id.x`. This follows up
#220987 by fixing the type at its producer instead of coercing it in
register-bank legalization.
A lot of tests need to be migrated because of this, owing to the
Extended LLTs change in https://github.com/llvm/llvm-project/pull/207419
Assisted-by: Codex
Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
Co-authored-by: GPT-5 <noreply at openai.com>
Get TSC frequency from KVM/VMWare parameter leaf at early boot time
So, we can boot in VMs where the i8254 is not emulated.
Tested by bluhm on various machines
ok mlarkin@
ok kettenis@
mail/exim: 4.100 -> 4.100.1
Security: GCVE-25-2026-09-50-1, GCVE-25-2026-09-51-1,
GCVE-25-2026-09-55-1, GCVE-25-2026-09-56-1
Requested-by: The Doctor <doctor at doctor.nl2k.ab.ca>
Merge tag 'pci-v7.3-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Pull PCI fix from Bjorn Helgaas:
- Enable clock after core reset is asserted to fix enumeration
regression on i.MX6Q Apalis platforms with ASM1061/ASM1062 SATA
controllers (Richard Zhu)
* tag 'pci-v7.3-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
PCI: imx6: Move clock enable after core reset assertion
18413 zfs: spa_sync_upgrades() should only take lock when needed
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: C Fraire <cfraire at me.com>
Approved by: Gordon Ross <gordon.w.ross at gmail.com>
net/pimd: update to 3.1.0
troglobit/pimd, the upstream this port tracked, has not seen a commit since
August 2022 and its last release, 2.3.2, is from 2016. The port was pinned
to an unreleased master snapshot (2.3.2b, commit 17ae62f) because there was
nothing newer to move to.
This new fork continues the tree and releases from it. 3.1.0 brings
Anycast-RP (RFC 4610), accept-nbr-from and register-accept-from, and rescans
interfaces at runtime so a link that comes up after the daemon started becomes
a vif without a restart.
[WebKit Checkers][NFC] Extract hasPublicMethodInHierarchy from isSmartPtrCompatible (#224697)
So we can reuse it in borrow checking.
hasPublicMethodInHierarchy identifies RefCounted via 'ref' and 'deref'
public
member functions.
Borrow checking will identify CanBorrow via a 'crashIfBorrowed' public
member
function.
Assisted-by: Claude