[LiveDebugValues] Do not join debug values whose operand counts disagree (#221929)
Currently, `DbgValueProperties::isJoinable()` decides whether two values
could be joined by comparing their `DIExpressions` only. That was safe
when location-operand count was taken from the expression. In
instruction-referencing `LiveDebugValues`, `NumLocOps` is taken from the
`MachineInstr` (`getNumDebugOperands()`), so two values can share an
expression and still differ in operand count.
Joining pairs location operands by index. When the counts disagreed,
`pickVPHILoc` indexed past the shorter list and hit `assert(Index <
OpCount)` in `DbgValue::getDbgOpID`.
This change makes `isJoinable()` return `false` unless `NumLocOps`
**also agrees**.
[mlir][Bufferization] Split the dialect declaration (NFC) (#222859)
Introduce a self-contained dialect declaration and use it in four
consumers that do not need the generated operation umbrella.
Across three controlled serial rebuilds of the affected TUs, median
instructions fell from 97.470B to 94.887B (-2.650%) and median wall time
fell from 15.20s to 14.70s (-3.289%). Three -j16 runs confirmed a 2.623%
reduction in instructions, with wall time improving 0.722% on the
parallel critical path.
Assisted-by: Codex
RISCV: Maintain VL/VTYPE liveness when clearing dead flags in InsertVSETVLI
Drop the stale VL/VTYPE ranges when a dead flag is cleared.
RISCVInsertVSETVLI marks the VL and VTYPE defs of an explicit VSETVLI as live by
clearing their dead flags, but did not update LiveIntervals. When a def was
previously a dead def, its live range is a zero-length dead-def segment
ending at the def slot; clearing the flag extends the def past that slot without
extending the range leaving a segment that references no instruction.
Co-authored-by: Claude claude-opus-4.8 <noreply at anthropic.com>
[mlir][Func] Split the dialect declaration (NFC)
Introduce a self-contained dialect declaration and use it in ten configured
consumers that do not need the generated operation umbrella.
Across three controlled -j16 rebuilds of the affected TUs, median instructions
fell from 224.883B to 220.787B (-1.821%) and median wall time fell from 8.44s
to 8.31s (-1.540%).
Assisted-by: Codex
[MLIR][Parser] Fix precision loss when parsing f80 and f128 literals (#220267)
While analyzing this CIR issue
[216422](https://github.com/llvm/llvm-project/issues/216422), I traced
the issue to the MLIR asm parser.
For the following case:
```
%0 = arith.constant 1.0E+309 : f80
```
using `mlir-opt repro.mlir`
we get (infinity):
```
module {
%cst = arith.constant 0x7FFF8000000000000000 : f80
}
```
instead of
```
[17 lines not shown]
Report SED gate denials consistently and exclude sed in v26
This commit fixes a few problems found while reviewing the SED gates. `sed` is now excluded from the disk update model in v26 as well as v27, because stable/26 serves v26 as its current version and the two have to agree; a `from_previous` hook would not have helped, since the adapter validates a payload against the client's own model before it adapts anything.
The license denial in pool attach now raises before the disk lookup that can throw and discard it, and the global SED password denial accumulates into the same batch as the other advanced settings validators rather than pre-empting them, which needed an optional accumulator on the settings helper. The KMIP tests mock the SED entitlement because they set a global SED password to reach the escrow path.
pw: remove mail file with unlinkat instead of building a path
This is consistent with how at jobs and crontabs are removed.
MFC After: 1 week
(cherry picked from commit 1ccf8075eaa84088ad4acb65aabb1e59c3fddd3f)
pw: remove crontab with unlinkat instead of spawning crontab
crontab -r only unlinks the crontab file, so spawn it directly with
unlinkat() relative to conf.rootfd. This also makes the crontab
removal work with pw -R.
MFC After: 1 week
(cherry picked from commit ba391775e8acb7a539c18f1231a396a7d0d763e9)
pw: fix at job removal when deleting a user
rmat() used stat() with a path relative to the current working
directory, so it never found the job files in /var/at/jobs and the
at(1) jobs of a deleted user were never removed.
ef7d0eb9489f also broke it by introducing a typo: /usr/sbin/atrm instead
of /usr/bin/artm.
Use fstatat() with the directory fd to stat the job files relative to
the at jobs directory, and unlinkat() them directly instead of spawning
atrm.
Those changes allow us to make it works with pw -R.
MFC After: 1 week
(cherry picked from commit 6b6aa45f9a1a35acb7fef68824c1a5eb08503909)
[clang][SVE][nfc] Remove spurious compare instruction (#222652)
When lowering `sve_svdup_n_bN` SVE builtins, the compare Op is not
required. In fact, that compare Op is removed by subsequent
optimisations, as evident in the tests.
Instead of relying on the middle-end to clean it up, improve the
front-end code-gen by not generating that spurious Op at all.
[CUDA/HIP] Fix errors for device function used in host global initializers (#222338)
The existing checker was simply looking for a call or `CXXConstructExpr`
which would miss a call to device function in case an implicit cast was
in place or if a call was a part of an expression. Use a visitor to
improve the situation.
pw: use _PWDASH pseudo-fd for "-" in pw_checkfd
pw_checkfd() returned the character "-" (45) for the "-" argument,
which was ambiguous with a real file descriptor.
MFC After: 1 week
(cherry picked from commit 92e8a76b87862aa2ee7e6c3f637034e60ffbc2e6)
rpki-client: change return 0 to goto out
This turns cms_parse_validate() into a single exit function and fixes
a return 0 that should have been return NULL since the last commit.
Interfaces: split media and mediaopt with tabs instead of spaces as spaces may exist in the actual output.
(cherry picked from commit d740eecdbfe0e39beccd771e704f28f9493e84f1)
[AMDGPU][GIsel][NPM] Port AMDGPUPostLegalizerCombiner to NPM (#216274)
Porting `AMDGPUPostLegalizerCombiner` to work with the New PassManager
to support GISel.
Assisted-by: Codex
---------
Signed-off-by: Keshav Vinayak Jha <keshavvinayakjha at gmail.com>
rc.conf.5: Improve NOAUTO configuration + tag SPDX
- Show how to start a NOAUTOed interface
- "configured" is not quite right, try to improve that
MFC after: 3 days
Event: EuroBSDcon Devsummit 2026
Reviewed by: adrian
Discussed with: Antranig Vartanian <antranigv at freebsd.am>
Differential Revision: https://reviews.freebsd.org/D59571
sysutils/firstboot_pkg_upgrade: Ignore OSVERSION
Don't just ignore OSVERSION for the 'pkg upgrade' command; we also
need to ignore OSVERSION for the 'pkg update' and also for the 'pkg
bootstrap' (if we somehow don't have pkg installed yet).
Rather than setting it individually for each command, export
IGNORE_OSVERSION=YES into the environment where it will apply to
all of the pkg commands.
Reviewed by: ziaee
Fixes: b67d354b6656 ("sysutils/firstboot-pkg-upgrade: Ignore OSVERSION")
Sponsored by: Amazon
Reported by: akiyano
Differential Revision: https://reviews.freebsd.org/D59584
[flang] Add driver support for x86 -m[option] target feature flags (#220159)
Added FlangOption visibility to m_x86_Features_Group so flags such as
-mavx, -mavx2, and -mavx512f are accepted by flang and forwarded as
-target-feature to -fc1 via the shared Clang driver logic.
Also extended target-cpu-features.f90 with grouped driver tests that
cover m_x86_Features_Group options, including representative -mno-*, APX
cases
Assisted by : Cursor (testcase generation)
[orc-rt] Wrap C API implementation in `extern "C" {..}` blocks (#222846)
Adopt a consistent style for C API implementation: A banner comment and
an `extern "C" { ... }` block around the definitions.