[NVPTX] Select mul.wide.u64 based on known bits (#228285)
Currently the `mul.wide` selection requires the explicit pattern of an
`{s,z}ext` into a multiply, but instcombine will canonicalize a pattern
like
```llvm
%1 = trunc i64 %0 to i32
%2 = sext i32 %1 to i64
```
into
```llvm
%sext = shl i64 %0, 32
%1 = ashr exact i64 %sext, 32
```
and we miss the optimization.
Instead we can use `DAG.computeKnownBits` to see if the value logically
fits into the smaller type, and if so we truncate it. I limit this to
only 64-bit multipies where the truncation is free due to the 32-bit
[2 lines not shown]
[flang][OpenMP] Utility and declarative dir's are not constructs, NFC (#232917)
A construct is an executable directive. There are still references to
declarative directives as constructs, but we should prefer to use
correct nomenclature.
[OpenACC][NFC] Move device type precedence helper to dialect utils (#232910)
Move device type precedence helper to dialect utils. The helper can be
used by any pass or helper that wants to determine which clause should
apply to a given device.
Assisted-by: Codex
Add middleware support for LIO ALUA HA
Wire up the middleware side of LIO ALUA high-availability: load
lio_ha.ko with per-node addresses on service start, manage ALUA
state across failover events, clean up STANDBY configfs on pool
export, and add pre-flight validation that targets have static
initiator ACLs before ALUA can be enabled.
For each target, create a portal-less phantom TPG carrying the peer
node's controller group so that a single RTPG response from any
connected port lists both ALUA groups. Write tpgt_N/rtpi explicitly
before enable so that relative target port IDs in RTPG match the
tag formula (portal.tag on Node A, portal.tag + 32000 on Node B)
rather than being auto-assigned sequentially by the kernel.
ALUA group states are driven by role and ha_state:
MASTER + synced local=OPTIMIZED remote=NONOPTIMIZED
MASTER + connected local=OPTIMIZED remote=TRANSITIONING
[4 lines not shown]
Add context_params to iscsi_scsi_connect()
Pass an optional context_params dict through to python-scsi's
init_device(), so a test can set pre-login iscsi.Context options such
as an explicit ISID. context_params_supported() lets callers skip when
the installed python-scsi predates it.
Also ruff.
Port the network page to the rewritten NetworkMgr API
NetworkMgr renamed its net_api functions and moved scan results out of
network_dictionary() into scan_networks(), which returns dicts instead
of index-based lists, so install-station failed to import at startup.
Networks are now saved through wpa_supplicant's control socket rather
than appended to wpa_supplicant.conf, and the config is only written
after a connection succeeds. Rescan requests a scan and reads the
results a few seconds later, and the page rescans once when it opens.
Open networks no longer get a password prompt after a failed attempt.
textproc/tgrep: Update distinfo and bump port revision
The tag v1.2.0 has been re-created after the initial release.
Reported by: Roman Asendorf (via private email)
(cherry picked from commit 2c15035b79227084d9f0e4a070c9fb000e067037)
linuxkpi: implement irqs_disabled
This adds a function which is used from various places in drm-kmod
to detect if the code can sleep or not. Currently, these locations
(such as intel_guc_send_busy_loop) are ifdeffed to freebsd specific
solutions (usually drm_can_sleep).
This change implements irqs_disabled. We check td_pinned as spinlocks
will call sched_pin, and td_critnest to check if we are in a critical
section.
Approved by: wulf, khng (mentor)
Differential Revision: https://reviews.freebsd.org/D57782
[OpenMP] Fix context selector matching and scoring
OMPContext computes some context selector scores differently from the
OpenMP 5.2 rules in "Matching and Scoring Context Selectors", and
crashes on some selectors. Fix the following; each can change which
variant is selected:
- Device weights. kind, arch, and isa are worth 2^l, 2^(l+1), and
2^(l+2), where l is the depth of the construct context. OMPContext
used the candidate's own construct selector count, so inside two
nested parallel regions kind(cpu) was worth 1 instead of 4 and lost
to vendor(score(2): llvm).
- Scores per selector. A score belongs to a trait selector, but it was
added once per property, so vendor(score(10): llvm, amd) counted 20.
Scores now add once, using arbitrary-width arithmetic instead of
wrapping 64-bit sums.
- Repeated constructs. When a construct selector can match several
enclosing constructs, the highest-valued complete match counts.
construct={parallel} inside three nested parallel regions now adds 2^2
[33 lines not shown]
linux: preserve epoll descriptors across fork using KQUEUE_CPONFORK
Linuxulator implements epoll instances using kqueues. Currently,
epoll_create_common() creates the backing kqueue with copy-on-fork
disabled. When fork() copies the descriptor table, the kqueue is
omitted from the child's table.
This differs from Linux, where an epoll descriptor survives fork(),
including when it was created with EPOLL_CLOEXEC. That flag controls
descriptor lifetime across exec(), not fork().
The missing descriptor breaks dbus-daemon daemonization. The daemon
creates its epoll instance before forking and continues using the
saved descriptor number in the child. F_GETFD initially fails with
EBADF. Once another open reuses that number, subsequent epoll_ctl()
calls fail with EINVAL because the descriptor no longer refers to
an epoll instance. The daemon then exits, preventing applications
that depend on the session bus from starting correctly.
[31 lines not shown]
sysutils/dua-cli: update to 2.46.0
A bugfix release, and one that should also restore cargo installations, making them function.
New Features
make walk result buffering configurable per worker
Replace the fixed QUEUED_BATCHES_PER_WORKER constant with
Options::queued_batches_per_worker and a chainable builder method. Use
two queued batches per worker by default in both production and tests,
preserving the original bounded buffering behavior.
Consumers that pause to process entries can opt into a larger queue to
keep traversal workers busy, trading memory for less idle time. A value
of zero selects an unbuffered channel. Check the worker-count
multiplication so excessive capacities cannot silently overflow.
Update existing Options literals to inherit the new default. Verify the
actual queue capacity with one and two workers, and exercise larger and
[16 lines not shown]
net/slumber: update to 5.4.0
[5.4.0] - 2026-10-14
Changed
Use a single unicode character for checkboxes
Support compressed responses
brotli, deflate, gzip, and zstd content encodings are now supported
Slumber will not include a Content-Encoding header by default; if you want your responses to be compressed, you'll have to manually add the request header
Include database path in TUI Help page
Fixed
Fixed underflow in hotkey hint #767 (@MichaelXavier)
[flang][OpenMP] Utility and declarative dir's are not constructs, NFC
A construct is an executable directive. There are still references
to declarative directives as constructs, but we should prefer to use
correct nomenclature.
libpkg: build with OpenSSL 4
OpenSSL 4 removed the EVP_MD_meth_* functions used to build the digest
needed to verify the signatures generated by the older versions of pkg,
which sign the hex encoding of the SHA256 checksum.
Only compile that legacy verification path, and the digest it needs,
when those functions are available: built with OpenSSL 4, pkg can no
longer verify such signatures.
py-jsonpickle: updated to 4.1.4
v4.1.4
* Fix broken build from source on 4.1.3.
v4.1.3
* Add deprecation warnings for the pending removal of the ``backend``, ``max_iter``, and
``v1_decode`` arguments, as well as the new behavior of 5.0.0 in not registering the
yaml backend by default.