[CIR][AArch64] Upstream Neon vget_lane/vgetq_lane builtins (#186119)
part of #185382
This patch upstreams handling of AArch64 Neon extract-lane builtins in
ClangIR, covering the vget_lane_* and vgetq_lane_* .
It also migrates the corresponding AArch64 Neon CodeGen tests under the
neon test directory for CIR coverage.
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
[lldb] Fix delayed breakpoints on running processes
Breakpoints should never be delayed on a running process, as they can
immediately affect program execution.
Merge tag 'rcu-fixes.v7.1-20260519a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux
Pull RCU fixes from Boqun Feng:
"Fix a regression introduced by commit 61bbcfb50514 ("srcu: Push
srcu_node allocation to GP when non-preemptible").
SRCU may queue works on CPUs that are "possible" but never have been
online. In such a case, the work callbacks may not be executed until
the corresponding CPU gets online, and as the callbacks accumulates,
workqueue lockups will fire.
Fix this by avoiding queuing works on CPUs that have never been
online"
* tag 'rcu-fixes.v7.1-20260519a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux:
srcu: Don't queue workqueue handlers to never-online CPUs
[DWP] Stop storing DWPStringPool strings in Buffer (#198678)
When we can just write it out. This decreases peak memory usage of
llvm-dwp on clang debug info from ~800MB to ~350MB without measurable
performance changes.
Also remove DWPStringPool.h to avoid circular headers. It wasn't doing
anything anyway...
[CUF] Fix `do concurrent` PFT navigation in `cuf.kernel` lowering (#198585)
When lowering a cuf kernel directive with an explicit loop depth (e.g.
`do(2)`), the code navigated `nestedLoops-1` levels deeper in the PFT
expecting nested regular do-loops. For a `do concurrent` construct with
multiple index variables (e.g. `do concurrent(i=1:k,j=1:n)`), the PFT
represents the entire construct as a single node, so the extra
navigation stepped off into a plain statement with no nested evaluations
and triggered an assertion in `getNestedEvaluations()`.
Fix by skipping the depth navigation loop for `do concurrent`, which is
always a single flat PFT construct regardless of how many index
variables it declares.
PR stack:
- https://github.com/llvm/llvm-project/pull/198584
- https://github.com/llvm/llvm-project/pull/198585 ◀️
Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
nlist.3: Move deprecation notice after intro
Its more clear and good practice for the first sentence of a description
to describe what something is, because there are a lot of different use
cases for documentation.
Fixes: 94b7a335683a ("nlist.3: Add discouraged use notice")
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D57128
[AArch64][ISel] Improve lowering for clmul.nxv8i16(zext, zext) (#197503)
Since only the lower bits of the clmul operands are non-zero, we can
just use pmullb for simpler lowering. This enables optimal lowering for
targets that have +sve2 or +sme in the i16 and i64 cases.
[Dexter] Add basic result evaluation for structured scripts
This patch adds evaluation for structured scripts, completing the features
required to run simple Dexter tests using structured scripts. The basic
output from these evaluations is a list of named metrics aggregating the
results of evaluating !value nodes. The verbose output gives a per-step
summary of the results for each expect node active at that step.
Most of the new functionality is in the evaluation/ dir, which has also
absorbed some functionality previously stored in the
ScriptDebuggerController for matching !where nodes to a debugger StepIR,
as this is logic which is common to both managing a debugger session and
evaluating the end result.
[Flang][bbc] Add support for -fintrinsic-module-path (#198565)
Add support for -fintrinsic-module-path to bbc. With #196558 the default
search path in the resource directory is determined by the driver, not
by the frontend (-fc1 and bbc). For tests of either frontend the tests
will need to append the search path themselves. Adding support for
`-fintrinsic-module-path` will allow using the same additional argument
for flang_fc1 and bbc tests.
Also rewriting the awkward tests that expect standard modules to fail
only because they do not contain a checksum. Maintaining this way of
testing became burdonsome because there are multiple ways of how default
modules are resolved. Fixing one breaks another.
Extracted out of #171515 to make that patch a bit smaller.
---------
Co-authored-by: Tarun Prabhu <tarun at lanl.gov>
bind920: update to version 9.20.23.
Pkgsrc changes:
* None, other than checksum changes.
Upstream changes:
BIND 9.20.23
------------
Security Fixes
~~~~~~~~~~~~~~
- Fix outgoing zone transfers' quota issue. ``1006b044b7``
Unauthorized clients could consume outgoing zone transfers quota and
block authorized zone transfer clients. This has been fixed.
:gl:`#3589`
[344 lines not shown]
kinst/arm64: Handle an additional PC-relative instruction
"ldr <reg>, <literal>" loads a value from a literal memory address into
a register. It's PC-relative and so cannot be directly implemented
using the trampoline mechanism. Unfortunately, on arm64 it can't easily
be emulated either since the return-to-EL1 handler does not restore
callee-saved registers, so like adr/adrp, we simply don't handle it.
These instructions are fairly rare in an arm64 kernel.
While here, refactor the code so that all instruction decoding is done
in one place: introduce an enum type which characterizes the instruction
type, add a helper to map instructions to enum values, and store the
corresponding enum value in the probe description.
Reviewed by: christos
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D56988
kinst/arm64: Fix return values from kinst_invop()
After commit 853cd8723494 it became invalid for kinst_invop() to return
0: dtrace_invop_start() would convert this to a sentinel value
indicating that it did not consume the breakpoint, and so we'd just
call kdb_trap() to handle it.
Change kinst_invop() to return NOP_INSTR after handling a matching
breakpoint. NOP_INSTR is handled by advancing the ELR, so we have to
compensate by subtracting INSTR_SIZE before returning.
Reviewed by: christos
MFC after: 1 week
Fixes: 853cd8723494 ("arm64: Clean up usage of the dtrace invop handler")
Differential Revision: https://reviews.freebsd.org/D56987