[AArch64] Fold MIN/MAX(Vec[0], Vec[1]) to VECREDUCE_MIN/MAX(Vec)
If we have a lowering for `VECREDUCE_MIN/MAX` this is generally more
efficient than the scalar expansion.
[AArch64] Prefer SVE2 for fixed-length i64 [S|U][MIN|MAX] reductions (#181161)
With SVE2/SME we can lower the v2i64 min/max reductions to an SVE2
pairwise instruction. The throughput is about the same, but the SVE code
is smaller than the NEON expansion.
REAPPLY [clang-repl] Ensure clang-repl accepts all C keywords supported in all language models (#181335)
https://github.com/llvm/llvm-project/pull/142749 was reverted because
`_Float16` is only supported on the following targets
(https://clang.llvm.org/docs/LanguageExtensions.html#half-precision-floating-point)
& the previous PR wasn't guarding it to expect a failure on some
targets.
Hence the CI failed with errors like
```
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/clang -cc1 -internal-isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib/clang/21/include -nostdsysteminc -fsyntax-only -verify -fincremental-extensions -std=c++20 /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/disambiguate-decl-stmt.cpp # RUN: at line 1
/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/bin/clang -cc1 -internal-isystem /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/build/lib/clang/21/include -nostdsysteminc -fsyntax-only -verify -fincremental-extensions -std=c++20 /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/disambiguate-decl-stmt.cpp
error: 'expected-error' diagnostics seen but not expected:
File /home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-rhel-test/clang-ppc64le-rhel/llvm-project/clang/test/Interpreter/disambiguate-decl-stmt.cpp Line 113: _Float16 is not supported on this target
1 error generated.
```
This should now be fixed as we are expecting an error (or no error)
based on the target through the `expected-error 0-1` framework
pw: make manual page more friendly for uid/gid search
pw.8 structure is quite different from usual manual page, especially in
describing -o option usage. Specifically, these paragraphs do not
contain "uid/gid" terms, and have "user id"/"group id" instead,
making searching for "override duplicate safety belt" difficult.
Try to simplify such searches.
Also, clarify uid/gid space between 100 and 1000 as "somewhat special",
as it actually is.
Discussed on: russian telegram FreeBSD group
Reviewed by: eugen, novel
MFC after: 1 week
(cherry picked from commit e89454417b2bfecce9daee10dece2f49632640d3)
pw: make manual page more friendly for uid/gid search
pw.8 structure is quite different from usual manual page, especially in
describing -o option usage. Specifically, these paragraphs do not
contain "uid/gid" terms, and have "user id"/"group id" instead,
making searching for "override duplicate safety belt" difficult.
Try to simplify such searches.
Also, clarify uid/gid space between 100 and 1000 as "somewhat special",
as it actually is.
Discussed on: russian telegram FreeBSD group
Reviewed by: eugen, novel
MFC after: 1 week
(cherry picked from commit e89454417b2bfecce9daee10dece2f49632640d3)
pw: make manual page more friendly for uid/gid search
pw.8 structure is quite different from usual manual page, especially in
describing -o option usage. Specifically, these paragraphs do not
contain "uid/gid" terms, and have "user id"/"group id" instead,
making searching for "override duplicate safety belt" difficult.
Try to simplify such searches.
Also, clarify uid/gid space between 100 and 1000 as "somewhat special",
as it actually is.
Discussed on: russian telegram FreeBSD group
Reviewed by: eugen, novel
MFC after: 1 week
(cherry picked from commit e89454417b2bfecce9daee10dece2f49632640d3)
[lldb-dap] Initialise the call mutex before the progress_event_reporter. (#181941)
The progress event reporter has a thread that reports events every 250
millisecond. and is destroyed in its destructor.
When in event reporter desctructor, the event reporter may have pending
event but the call mutex is destroyed leading to the crash.
Relevant stack trace from CI.
```
[2026-02-13T17:46:13.577Z] libc++abi: terminating due to uncaught exception of type std::__1::system_error: mutex lock failed: Invalid argument
[2026-02-13T17:46:13.577Z] PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash report from ~/Library/Logs/DiagnosticReports/.
[2026-02-13T17:46:13.577Z] #0 0x0000000102b6943c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x10008943c)
[2026-02-13T17:46:13.577Z] #1 0x0000000102b67368 llvm::sys::RunSignalHandlers() (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x100087368)
[2026-02-13T17:46:13.577Z] #2 0x0000000102b69f20 SignalHandler(int, __siginfo*, void*) (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake-os-verficiation/lldb-build/bin/lldb-dap+0x100089f20)
[2026-02-13T17:46:13.577Z] #3 0x000000018bbdb744 (/usr/lib/system/libsystem_platform.dylib+0x1804e3744)
[2026-02-13T17:46:13.577Z] #4 0x000000018bbd1888 (/usr/lib/system/libsystem_pthread.dylib+0x1804d9888)
[2026-02-13T17:46:13.577Z] #5 0x000000018bad6850 (/usr/lib/system/libsystem_c.dylib+0x1803de850)
[17 lines not shown]
smp: Use bitwise operation to count cpu number
Previously, we iterated over all CPUs using CPU_FOREACH and checked
individual bits to count valid CPUs. Refactor this to use a bitwise AND
and popcount to count the number of enabled bits directly.
Approved by: markj (mentor)
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D54474
[NFCI][analyzer] Simplify NodeBuilder constructors (#181875)
This commit simplifies the construction of `NodeBuilder` and its
subclasses in three ways:
- It removes an assertion that only appeared in one of the two
constructors of `NodeBuilder`. While the asserted "no sinks in the
`Frontier`" invariant apparently holds, this assertion was not the right
place for expressing it. (In the future I might re-add a similar
assertion in a more reasonable location.)
- It adds a new constructor for `NodeBuilder` that doesn't take a
"source node(s)" argument, because this argument was often irrelevant.
- It removes the "source node(s)" arguments from the subclasses of
`NodeBuilder` because it was always completely irrelevant in those
situations.
Before this commit, constructors of `NodeBuilder` took three arguments:
- the source node or nodes,
- the destination node set where the freshly built nodes are placed,
- the `NodeBuilderContext` that provides access to the exploded graph.
[23 lines not shown]
config: add config_write_array() magic
With this we can insert new entries without the need to grab the entry
beforehand using config_read_array().
config_write_array('foo', 'bar', 'hello');
becomes
<foo>
<bar>hello</bar>
</foo>
(cherry picked from commit 8e8a70713065b0c9e82115c25c8b65b9d767ea2c)
[X86] LowerAndToBT - convert to SDPatternMatch (#181696)
Fixes an issue where a partial pattern (and then early-out) prevented a
later match
Prep work for #147216
Services: Dnsmasq DNS & DHCP: add IP address validations for some of the DHCPv4 and DHCPv6 options (#9790)
---------
Co-authored-by: Ad Schellevis <AdSchellevis at users.noreply.github.com>
Co-authored-by: Franco Fichtner <1915288+fichtner at users.noreply.github.com>
(cherry picked from commit dfa65e1589b2665f73ba2f6f10e596fa9070b5a8)
mvc: restructure menu items and system using findNodeByPath/getItem additions
No functional change intended. Usage of these functions will follow in a
separate commit.
[AArch64][PAC] Emit `!dbg` locations in `*_vfpthunk_` functions
In absence of `!dbg` metadata, it is possible for indirect
authenticated call to be replaced with a direct call instruction
without `!dbg` metadata. This may result in an error reported by
LLVM IR verifier ("inlinable function call in a function with
debug info must have a !dbg location") or an assertion triggered
after inlining this call ("!dbg attachment points at wrong
subprogram for function").