[VPlan] Drop poison generating flags from replicated clones (#234901)
Only noticed this after already reviewing #234613, we also need to drop
the flags for much the same reason.
[CIR] Add the cir-offload-merge tool
Add a standalone tool that moves CIR modules into and out of an offload
container:
* `-combine` takes a host CIR module and one or more device CIR modules,
each paired with its offload bundle ID through `-targets`, and nests them
in a module marked `cir.offload.container`. The host module goes first, as
the container verifier requires. Each nested module is tagged with
`cir.offload.kind` and `cir.offload.bundle_id`.
* `-split` takes a container and writes each requested target's module to
its own file. Modules are matched to the requested targets by their
bundle ID, using clang-offload-bundler's target ID compatibility rules.
Each split module is printed as a top-level module, so its type aliases
are kept.
The tool runs no passes on the container. It is driven by hand for now:
driver integration and the passes that work on the container are left to
[9 lines not shown]
[CIR] Add cir.offload.bundle_id attribute
A follow-up tool combines per-target CIR modules into an offload container
and splits them back out. Splitting needs to know which compilation each
nested module came from, and `cir.offload.kind` only says host or device.
The target triple is not enough either: a multi-arch HIP build produces
several device modules with the same triple that only differ in their
target ID, e.g. `gfx90a:xnack+` and `gfx90a:xnack-`.
Add `cir.offload.bundle_id`, a string attribute carrying the module's
offload bundle ID in the format clang-offload-bundler uses
(`<offload kind>-<target triple>[-<target ID>]`).
The verifier checks that the attribute is a non-empty string attached to
a `builtin.module`, and that bundle IDs are unique within an offload
container. The attribute is optional, so existing containers stay valid.
ufshci: fix the WLUN peripheral lookup timeout
The timeout in ufshci_sim_find_periph() is uint64_t, making the
comparison of timeout - ticks with zero always false. If the requested
peripheral does not become available, the lookup can wait indefinitely.
Use an sbintime_t deadline based on sbinuptime() and mstosbt(), and
compare the current uptime directly with the deadline. Preserve the
successful lookup path and existing timeout cleanup.
On an HP 15-fd0118ca with Intel N150 and Samsung UFS 3.1 storage, a
kernel built from stable/15 revision 84aa3cb3204d with this change
logged the missing-WLUN timeout, attached da0 and mounted root in two
boot trials.
Signed-off-by: Denis Lemire <denis at lemire.name>
Reviewed by: jaeyoon
Fixes: 31407551c3d4 ("ufshci: Add a check for WLUN during driver initialization")
MFC after: 3 days
Pull Request: https://github.com/freebsd/freebsd-src/pull/2520
[Verifier][RISCV] Reject i64 vsetvli intrinsics on rv32
The scalar types need to fit in XLEN. i32 intrinsics on rv64 seem to work fine.
Fixes #237048.
Assisted-by: Claude Opus 5.5
[mlir][scf] Revisit affected loops during range folding (#230961)
Folding an outer loop can expose a range-folding opportunity in an inner
loop that has already been visited. Convert loop-range folding to an
`OpRewritePattern<scf::ForOp>` and use `applyPatternsGreedily` on the
pass root so the greedy driver revisits affected loops within one pass
invocation.
Fixes #228463
[LLDB] Use `-fastproxy` when building swig bridge without limited python API (Reland) (#236247)
Per [swig
docs](https://www.swig.org/Doc4.4/Python.html#Python_fastproxy).
Additionally, the `-olddefs` option is included so that the doc comments
still function. The latter change makes importing the LLDB module a bit
slower, but makes every method call a good bit faster.
Depends on: #235909
Co-authored-by: Walnut <walnut356dev at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
better accounting when the peer exceeds it channel window. We allow a 10%
grace before the connection is terminated but previously would reset the
excess if the peer sent an empty packet after going into excess, allowing
them to buffer more data than intended.
This now requires the peer to fully pay down the excess before giving
them back window.
Anthropic ANT-2026-KM8MV6JI
[llvm-ir2vec] Parse library options into LLVMContext (#237056)
Migrate away from the to-be-deprecated ParseCommandLineOptions, which
sets the global values.
tcpsso: fix the level error messages
tcpsso incorrectly referred to the optname instead of
the level name/number.
MFC after: 2 weeks
(cherry picked from commit c7cf285bb2069ff5adc3ca63dbdaf3deb0fe3aeb)
clean up Kerberos ccache if KerberosAuthentication password authentication
succeeds but the session is subsequently refused.
Anthropic ANT-2026-JGFGOUGS
[lld-macho] Build the export trie by edges, not bytes (#236626)
Emit singleton suffixes directly and scan common prefixes in one pass,
avoiding repeated byte-wise partitioning. This speeds up builds that
emit large export tries.
Reland of #234857, which was accidentally merged into a stale stack
branch instead of main. Same diff, already reviewed there.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
[LoongArch] Use XVPERMI.Q for lane-crossing LASX shuffles (#232209)
Introduce XVPERMI.Q ISD node in TableGen for add lowering for 256-bit
lane shuffle.
Also extend lowerVECTOR_SHUFFLEAsLanePermuteAndShuffle to support dual
input permute and shuffle, so that splice like this:
```
%2 = shufflevector <8 x i32> %0, <8 x i32> %1,
<8 x i32> <i32 7, i32 8, i32 9, i32 10,
i32 11, i32 12, i32 13, i32 14>
```
could be lowered to:
```
(XVBSLL_V $xr2, $xr1, 4)
(XVPERMI_Q $xr1, $xr0, 33)
(XVBSRL_V $xr0, $xr1, 12)
(XVOR_V $xr0, $xr2, $xr0)
```
All permute that destination lane comes from maximum of two source lanes
[3 lines not shown]
CodeGen: Replace TargetOptions::DebuggerTuning with module flag
Read the debugger tuning from the module's "debugger-tuning" flag instead of
TargetOptions. Delete the now-dead -debugger-tune= cl::opt and the
TargetOptions::DebuggerTuning field.
Update the tests relying on it to directly use the module flag. The cases
that exercise multiple values do a text substitution to swap the value.
Alternatively this could be changed to synthesize the module flag in the
llc flag like some of the other widely used module flags do.
Co-authored-by: Claude Sonnet 5 <noreply at anthropic.com>
avoid pty fd leak if a session is opened, a pty is requested and then
closed before any shell/exec/subsystem request is made.
Anthropic ANT-2026-F1Z1MHTE
www/node26: Enable Temporal support
Node.js 26 enables Temporal by default, but its configure script
silently disables it when cargo/rustc are missing, which was the case
in the build environment.
The Rust crates are vendored in deps/crates and built by gyp with
"cargo rustc --frozen", so only the toolchain and environment from
USES=cargo are needed; the framework build/install/test stages are
turned off. Pass --v8-enable-temporal-support so that a missing
toolchain fails the build instead, and check in post-install that
Temporal resolves named time zones, since a broken setup fails
silently at runtime.
Approved by: maintainer (sunpoet, via telegram)
www/node2{2,4,6}: Remove obsolete build dependency and patches
- Drop BUILD_DEPENDS on devel/binutils: objdump was only needed by
tools/genv8constants.py, which no longer exists.
- Drop patch-src-cares_wrap.h: dns/c-ares installs ares_nameser.h, so
the upstream include works as is.
- www/node22: drop the linux-elf no-asm OpenSSL patches that removed
-ldl (only used with BUNDLED_SSL on non-amd64): FreeBSD provides
libdl, and node24/node26 already link -ldl unpatched.
Approved by: maintainer (sunpoet via telegram)