LLVM/project 846793eflang/include/flang/Semantics openmp-utils.h, flang/lib/Lower/OpenMP Utils.cpp OpenMP.cpp

[flang][OpenMP][NFC] Hoist variant match-info construction into Semantics (#204387)

Replace the lowering-only `makeVariantMatchInfo` helper with a single
shared `semantics::omp::MakeVariantMatchInfo`. It builds the
VariantMatchInfo from a parsed context selector and returns the optional
non-constant user condition (as before). Update metadirective lowering
to use it and drop the duplicated Lower/OpenMP copy.

Selector features that variant selection cannot yet honour
(target_device selectors, and clause/extension trait properties) are not
match-info concerns, so they are kept out of `MakeVariantMatchInfo`.
Detection lives in a separate, pure helper
`FindUnsupportedSelectorFeature`; the caller diagnoses the feature in
its own terms (metadirective lowering emits a TODO) before building the
match info. `MakeVariantMatchInfo` checks the precondition. NFC for
metadirective.

Co-authored-by: Cursor


    [2 lines not shown]
DeltaFile
+0-111flang/lib/Lower/OpenMP/Utils.cpp
+107-0flang/lib/Semantics/openmp-utils.cpp
+40-0flang/include/flang/Semantics/openmp-utils.h
+24-8flang/lib/Lower/OpenMP/OpenMP.cpp
+2-17flang/lib/Lower/OpenMP/Utils.h
+173-1365 files

FreeNAS/freenas b784e2csrc/middlewared/middlewared pylibvirt.py, src/middlewared/middlewared/pytest/unit test_gather_pylibvirt_domains_states.py

Skip individual domains that vanish while gathering libvirt state

## Problem
`gather_pylibvirt_domains_states` wraps its whole loop in one try/except. If a queried domain is destroyed between `list_domains()` and reading its state (a TOCTOU race), libvirt raises `VIR_ERR_NO_DOMAIN` and the exception unwinds the entire loop, so every still-running domain after it is dropped from the result and reported as STOPPED/`pid: null` until the next poll. It also logged a full WARNING traceback for what is a benign, self-correcting race, and masked genuine errors (e.g. a bug in the per-domain factory) behind that same generic warning.

## Solution
Moved the try/except inside the loop so a vanished domain is skipped individually while the rest of the batch is still reported correctly (a missing entry falls back to STOPPED via `get_pylibvirt_domain_state`). The failure is classified using the new `is_no_domain_error` helper from truenas_pylibvirt: the no-domain race is logged at DEBUG, anything else at ERROR with `exc_info` so genuine bugs stay visible and no longer poison sibling domains.

(cherry picked from commit 883b0dda76b2c7acaf9853fe3cf48cca15955403)
DeltaFile
+184-0src/middlewared/middlewared/pytest/unit/test_gather_pylibvirt_domains_states.py
+45-16src/middlewared/middlewared/pylibvirt.py
+229-162 files

FreeNAS/freenas 81f7123src/middlewared/middlewared pylibvirt.py, src/middlewared/middlewared/pytest/unit test_gather_pylibvirt_domains_states.py

NAS-141503 / 27.0.0-BETA.1 / Skip individual domains that vanish while gathering libvirt state (#19174)

## Problem
`gather_pylibvirt_domains_states` wraps its whole loop in one
try/except. If a queried domain is destroyed between `list_domains()`
and reading its state (a TOCTOU race), libvirt raises
`VIR_ERR_NO_DOMAIN` and the exception unwinds the entire loop, so every
still-running domain after it is dropped from the result and reported as
STOPPED/`pid: null` until the next poll. It also logged a full WARNING
traceback for what is a benign, self-correcting race, and masked genuine
errors (e.g. a bug in the per-domain factory) behind that same generic
warning.

## Solution
Moved the try/except inside the loop so a vanished domain is skipped
individually while the rest of the batch is still reported correctly (a
missing entry falls back to STOPPED via `get_pylibvirt_domain_state`).
The failure is classified using the new `is_no_domain_error` helper from
truenas_pylibvirt: the no-domain race is logged at DEBUG, anything else
at ERROR with `exc_info` so genuine bugs stay visible and no longer
poison sibling domains.
DeltaFile
+184-0src/middlewared/middlewared/pytest/unit/test_gather_pylibvirt_domains_states.py
+45-16src/middlewared/middlewared/pylibvirt.py
+229-162 files

NetBSD/pkgsrc-wip 1472a3dbottom distinfo, bottom/patches patch-src_collection_disks.rs

bottom: fix the disk collector for netbsd.
DeltaFile
+1-1bottom/distinfo
+1-1bottom/patches/patch-src_collection_disks.rs
+2-22 files

FreeNAS/freenas e2a6153src/middlewared/middlewared main.py, tests/unit test_origin.py

Fix ruff
DeltaFile
+10-6tests/unit/test_origin.py
+2-2src/middlewared/middlewared/main.py
+12-82 files

LLVM/project e646fa6llvm/include/llvm/Support Allocator.h

[Allocator] Drop the fast-path null check via a sentinel End (#205485)

Follow-up to #203718. Store `End` as the slab end plus 1 (and 0 for an
empty or moved-from allocator). This removes one condition from the fast
path.

For lld/ELF SymbolTable.cpp (clang++ -O3), the inlined `make<T>()` fast
path loses its `test rax, rax; je` pair; the whole TU's .text shrinks
from 14037 to 13800 bytes.

Aided by Claude Opus 4.8
DeltaFile
+16-14llvm/include/llvm/Support/Allocator.h
+16-141 files

FreeBSD/ports 52b2a71net-im/teams Makefile, x11/waveterm Makefile

*/*: Bump port revision after electron41 update (4364864a077f)
DeltaFile
+1-1x11/waveterm/Makefile
+1-0net-im/teams/Makefile
+2-12 files

FreeBSD/ports 4364864devel/electron41 distinfo Makefile, devel/electron41/files patch-content_browser_renderer__host_render__widget__host__view__aura.cc patch-gpu_command__buffer_service_gles2__cmd__decoder.cc

devel/electron41: Update to 41.9.0

Changelog: https://github.com/electron/electron/releases/tag/v41.9.0

Reported by:    GitHub (watch releases)
DeltaFile
+7-7devel/electron41/distinfo
+5-5devel/electron41/files/packagejsons/yarn.lock
+4-4devel/electron41/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc
+2-2devel/electron41/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc
+1-1devel/electron41/Makefile
+1-1devel/electron41/Makefile.version
+20-201 files not shown
+21-217 files

LLVM/project 98dc5c6llvm/lib/Transforms/Vectorize VPlanTransforms.cpp VPlan.cpp, llvm/unittests/Transforms/Vectorize VPlanTest.cpp

[VPlan] Introduce VPValue::user_empty (NFC) (#203518)
DeltaFile
+20-20llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+11-12llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+10-10llvm/lib/Transforms/Vectorize/VPlan.cpp
+5-4llvm/lib/Transforms/Vectorize/VPlanValue.h
+2-2llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
+49-492 files not shown
+51-518 files

FreeBSD/ports 0fdfdccdns/knot3 distinfo distinfo.py-libknot

dns/{knot3,py-libknot}: Update 3.5.4 => 3.5.5

Changelog:
https://www.knot-dns.cz/2026-06-12-version-355.html

PR:             296249
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q2

(cherry picked from commit 218b58a7d3320a2821e31af74db4b9e4521274cf)
DeltaFile
+3-3dns/knot3/distinfo
+3-3dns/knot3/distinfo.py-libknot
+1-1dns/knot3/knotdns.mk
+7-73 files

FreeBSD/ports 218b58adns/knot3 distinfo distinfo.py-libknot

dns/{knot3,py-libknot}: Update 3.5.4 => 3.5.5

Changelog:
https://www.knot-dns.cz/2026-06-12-version-355.html

PR:             296249
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q2
DeltaFile
+3-3dns/knot3/distinfo
+3-3dns/knot3/distinfo.py-libknot
+1-1dns/knot3/knotdns.mk
+7-73 files

LLVM/project d1947f9llvm/test/Transforms/PhaseOrdering/AArch64 countable-and-uncountable-exits-combined.ll

Add phase ordering test
DeltaFile
+75-0llvm/test/Transforms/PhaseOrdering/AArch64/countable-and-uncountable-exits-combined.ll
+75-01 files

NetBSD/src esT0hO6usr.sbin/sysinst/arch/evbarm md.c

   Simplify, always use FAT16 LBA for the boot partition.
VersionDeltaFile
1.25+3-5usr.sbin/sysinst/arch/evbarm/md.c
+3-51 files

NetBSD/pkgsrc-wip 4ee3229clex Makefile DESCR, clex/patches patch-src_cfg-clex patch-src_clexheaders.h

clex: pkg/60361 (sysutils/clex: update to 4.7)
DeltaFile
+25-0clex/Makefile
+15-0clex/patches/patch-src_cfg-clex
+15-0clex/patches/patch-src_clexheaders.h
+11-0clex/DESCR
+7-0clex/distinfo
+7-0clex/PLIST
+80-02 files not shown
+83-08 files

LLVM/project c9989dallvm/lib/Target/AArch64 AArch64SVEInstrInfo.td AArch64TargetTransformInfo.cpp, llvm/test/CodeGen/AArch64 sve-mul-imm-add-adr.ll

[AArch64][SVE] add missing MLA commute instcombine
DeltaFile
+7-7llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mla-one.ll
+0-11llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+6-4llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+6-3llvm/test/CodeGen/AArch64/sve-mul-imm-add-adr.ll
+3-3llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-mla-commuted.ll
+22-285 files

LLVM/project 39ed80fllvm/test/Transforms/InstCombine/AArch64 sve-intrinsic-mul-mla-commuted.ll

[AArch64][SVE] Add baseline mul imm InstCombine test
DeltaFile
+150-0llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-mla-commuted.ll
+150-01 files

OpenBSD/ports UnHxA04editors/emacs Makefile, editors/emacs/files default.el

   Move our auto-mode-alist tweak to default.el

   This is the Right Way to do it according to the emacs docs. Users can
   then ignore this custom file with emacs -q if it becomes an issue. Also
   using default.el avoids possible patch conflicts when upgrading to newer
   emacs releases.

   Initial version from Timo Myyra, thanks!
VersionDeltaFile
1.1+13-0editors/emacs/files/default.el
1.130+2-1editors/emacs/Makefile
1.34+1-0editors/emacs/pkg/PLIST
1.13+0-0editors/emacs/patches/patch-lisp_files_el
+16-14 files

NetBSD/pkgsrc-wip 6320406bottom distinfo, bottom/patches patch-src_collection_disks.rs patch-src_collection_processes.rs

bottom: add missed out patch files.
DeltaFile
+13-12bottom/patches/patch-src_collection_disks.rs
+7-7bottom/patches/patch-src_collection_processes.rs
+3-3bottom/distinfo
+23-223 files

LLVM/project 402f7aellvm/lib/Target/AArch64 AArch64SVEInstrInfo.td AArch64TargetTransformInfo.cpp, llvm/test/CodeGen/AArch64 sve-mul-imm-add-adr.ll

[AArch64][SVE] add missing MLA commute instcombine
DeltaFile
+7-7llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mla-one.ll
+0-11llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+6-4llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+6-3llvm/test/CodeGen/AArch64/sve-mul-imm-add-adr.ll
+3-3llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-imm-add-adr.ll
+22-285 files

LLVM/project 096bfddllvm/test/Transforms/InstCombine/AArch64 sve-intrinsic-mul-imm-add-adr.ll

[AArch64][SVE] Add baseline mul imm InstCombine test
DeltaFile
+153-0llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-mul-imm-add-adr.ll
+153-01 files

LLVM/project 5672b0dclang/test/OpenMP nvptx_teams_reduction_codegen.cpp, llvm/docs ProgrammersManual.rst ProgrammersManual.md

Merge branch 'main' into users/kparzysz/m02-locator-frontend
DeltaFile
+5,126-0llvm/test/CodeGen/AMDGPU/sched-handleMoveUp-dead-def-join.mir
+0-4,257llvm/docs/ProgrammersManual.rst
+3,954-0llvm/docs/ProgrammersManual.md
+0-3,642clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
+0-2,502llvm/docs/CodeGenerator.rst
+0-2,490llvm/docs/SourceLevelDebugging.rst
+9,080-12,8911,629 files not shown
+74,247-47,6821,635 files

LLVM/project 36f12f9flang/lib/Optimizer/Transforms FIRToMemRef.cpp, flang/test/Transforms/FIRToMemRef slice-projected.mlir

[FIR] Route embox + projected complex slice through shapeVec (#205042)

When the array_coor base is a fir.embox with a projected complex %re/%im
slice, take the shapeVec path instead of the descriptor (fir.box_dims)
path. The descriptor path iterates source-rank dims while querying the
rank-reduced embox result box, which miscompiles slices that collapse
dims (e.g. complex(:,k)%re). For embox-derived boxes the underlying
storage is contiguous, so the shape-derived layout is both correct and
the natural place to encode that static shape is available. Non-embox
boxes (rebox, assumed-shape) still go through fir.box_dims.

Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>

Co-authored-by: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+19-51flang/test/Transforms/FIRToMemRef/slice-projected.mlir
+2-13flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
+21-642 files

LLVM/project 2b91b5bllvm/lib/Target/AArch64 AArch64SVEInstrInfo.td, llvm/test/CodeGen/AArch64 sve-mul-imm-add-adr.ll sve2-histcnt.ll

[AArch64][SVE] Use ADD/ADR instead of MUL/MLA for x*N (#198566)

Avoid `MUL`/`MLA` for all-active multiplies by small constants when
cheaper `ADD`/`ADR` sequences are available.

Vector multiplication (int32_t/uint32_t base types) by 2, 3, 5, 9 can be
done with ADD (for 2) ADR (for 3,5,9).
Similarly, operations of the form a + x * {1,2,4,8} can use ADR.
DeltaFile
+372-0llvm/test/CodeGen/AArch64/sve-mul-imm-add-adr.ll
+51-0llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+1-3llvm/test/CodeGen/AArch64/sve2-histcnt.ll
+1-1llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-undef.ll
+425-44 files

LLVM/project 34ed491llvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Analysis/LoopAccessAnalysis nssw-predicate-implied.ll

[SCEV] Infer addrec nowrap flags during range analysis (#202964)

When we're computing the range of the addrec, we already have to reason
about whether it wraps, so we may as well determine the nowrap flags at
the same time.

This is more precise than the previous logic that took the addrec range
and checked whether adding a step to it does not wrap. For example, an
`{0,+,1}` addrec with a full range can still be non-wrapping.

Note that I removed some assertions in the SCEV printed that predicated
exit counts actually have predicates. Due to SCEV's query order
dependence, this can happen, also prior to this change, see for example
https://llvm.godbolt.org/z/cWK1MMEqv. While this indicates suboptimal
results, it's not a bug, and we should not assert.

Fixes https://github.com/llvm/llvm-project/issues/200788.
DeltaFile
+123-133llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
+102-110llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
+62-68llvm/lib/Analysis/ScalarEvolution.cpp
+54-54llvm/test/Analysis/ScalarEvolution/exit-count-select-safe.ll
+26-26llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
+12-27llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
+379-41835 files not shown
+555-61141 files

LLVM/project 14840afflang/lib/Semantics check-omp-structure.cpp, flang/test/Semantics/OpenMP if-clause.f90 if-clause-50.f90

[flang][OpenMP] Check that IF clause applies to at most one leaf (#205164)

This also allows placing the IF clause in the "allowedClauses" set for
all directives, instead of having it in "allowedOnceClauses" for some
directives and in "allowedClauses" for others.

The emitted diagnostic will show which constituent has multiple IF
clauses applying to it:
```
if.f90:4:35: error: At most one IF clause can apply to each directive constituent
    !$omp & if(target teams: x > 0) if(teams distribute: y > 0)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
if.f90:4:11: Previous IF clause applying to the TEAMS constituent
    !$omp & if(target teams: x > 0) if(teams distribute: y > 0)
            ^^^^^^^^^^^^^^^^^^^^^^^
```
DeltaFile
+89-26flang/lib/Semantics/check-omp-structure.cpp
+39-32llvm/include/llvm/Frontend/OpenMP/OMP.td
+17-17flang/test/Semantics/OpenMP/if-clause.f90
+15-17flang/test/Semantics/OpenMP/if-clause-50.f90
+12-17flang/test/Semantics/OpenMP/if-clause-45.f90
+18-0flang/test/Semantics/OpenMP/if-clause-45-suggestion.f90
+190-1094 files not shown
+223-11110 files

NetBSD/pkgsrc-wip aa393c1bottom distinfo cargo-depends.mk

bottom: bump to 0.14.1.
DeltaFile
+78-225bottom/distinfo
+24-73bottom/cargo-depends.mk
+3-3bottom/Makefile
+105-3013 files

FreeBSD/ports 7f52e25security/vuxml/vuln 2026.xml

security/vuxml: Document dns/{ldns,py-ldns} vulnerability

PR:             296232
Approved by:    osa, vvd (Mentors, implicit)
Security:       CVE-2026-10846
DeltaFile
+35-0security/vuxml/vuln/2026.xml
+35-01 files

LLVM/project 910425fclang/test/CodeGen attr-arm-sve-vector-bits-types.c, clang/test/CodeGen/AArch64/sme2p3-intrinsics acle_sme2p3_luti6.c

[NFC][Clang][Tests] Remove +bf16 from AArch64 tests that don't strictly need the feature flag. (#205336)
DeltaFile
+9-9clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6_lane_x2.c
+6-6clang/test/CodeGen/attr-arm-sve-vector-bits-types.c
+1-11clang/test/CodeGenCXX/mangle-neon-vectors.cpp
+5-5clang/test/CodeGen/AArch64/sme2p3-intrinsics/acle_sme2p3_luti6.c
+5-5clang/test/Sema/attr-arm-sve-vector-bits.c
+5-5clang/test/CodeGen/AArch64/sve2p3-intrinsics/acle_sve2p3_luti6.c
+31-4119 files not shown
+69-8125 files

FreeBSD/ports bcb1128dns/ldns Makefile distinfo, dns/py-ldns pkg-plist

dns/{ldns,py-ldns}: Update 1.9.0 => 1.9.2

While here, introduce SOVERSION variable for easy update.

Release Notes:
- https://community.nlnetlabs.nl/t/ldns-1-9-1-released/3403
- https://community.nlnetlabs.nl/t/ldns-1-9-2-released/3404
Changelog:
https://github.com/NLnetLabs/ldns/blob/1.9.2/Changelog

PR:             296232
Approved by:    osa, vvd (Mentors, implicit)
MFH:            2026Q2

(cherry picked from commit 29b9a35715f663d7e8735bfeebf3226e7046fe7b)
DeltaFile
+7-3dns/ldns/Makefile
+3-3dns/ldns/distinfo
+1-1dns/ldns/pkg-plist
+1-1dns/py-ldns/pkg-plist
+12-84 files

NetBSD/src 0NRRlArusr.sbin/sysinst util.c, usr.sbin/sysinst/arch/evbarm md.c md.h

   PR 60360: make the default /boot partition on evbarm 64MB if we need
   the dtb set (the newer dtb files overflow the old 32mb default).
   In ACPI environments where we do not need dtb installed, do not select
   the set by default.
VersionDeltaFile
1.24+20-6usr.sbin/sysinst/arch/evbarm/md.c
1.81+13-2usr.sbin/sysinst/util.c
1.10+4-2usr.sbin/sysinst/arch/evbarm/md.h
+37-103 files