LLVM/project c8ef5dcllvm/lib/Transforms/Vectorize VPlan.h LoopVectorize.cpp, llvm/unittests/Transforms/Vectorize VPlanTest.cpp

[VPlan] Directly pass SrcEltTy when constructing WideGEP (NFC) (#200043)

Avoid getting the source element type from the underlying instruction,
and make the underlying instruction optional.
DeltaFile
+13-10llvm/lib/Transforms/Vectorize/VPlan.h
+5-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+3-2llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-2llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
+23-174 files

LLVM/project ebe8595lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime AppleObjCClassDescriptorV2.cpp AppleObjCClassDescriptorV2.h

[lldb][NFCI] Cleanup APIs in AppleObjCClassDescriptorV2 (#200122)

This removes unnecessary unique_ptrs and uses better error handling
(expected instead of bools).
DeltaFile
+75-72lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
+10-7lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
+85-792 files

LLVM/project da4e5ccllvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Analysis/ScalarEvolution rounding-demanded-bits.ll

[SCEV] Canonicalise round-up idiom when some bits known (#197126)

Since #174380, instcombine can clear some set bits in the added constant
in expressions like this, when A has some known-clear low order bits.
  (A + 15) & ~15

This transformation is valid, but can make it harder for later passes to
recognise this idiom for rounding up to a power of 2. This is causing
the ARM MVE tail predication pass to fail on loops with a trip count
which is a multiple of a small power of 2.

The fix is to reverse the transformation when building SCEV expressions,
canonicalising to always use the largest valid value for the added
constant.

Alive proofs:
https://alive2.llvm.org/ce/z/hhndoW
https://alive2.llvm.org/ce/z/_JYVat
DeltaFile
+117-0llvm/test/Analysis/ScalarEvolution/rounding-demanded-bits.ll
+77-0llvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-known-bits.ll
+20-0llvm/lib/Analysis/ScalarEvolution.cpp
+214-03 files

LLVM/project ca5d128clang/test/Driver aarch64-v97a.c, llvm/lib/Target/AArch64 AArch64SystemOperands.td AArch64Features.td

[AArch64][llvm] Deprecate FEAT_MPAMv2_VID

`FEAT_MPAMv2_VID` instructions and system registers, as introduced
in change d30f18d2c, are being deprecated at this time, as they've been
removed from the latest Arm ARM, which doesn't preclude them returning
in some form in future.

Other system registers introduced with `FEAT_MPAMv2` are unaffected,
and these continue to be ungated. `+mpamv2` gating is now renamed to
`+mpamv2-deprecated`, to avoid an ABI break. This makes it obvious that
it shouldn't be used.
DeltaFile
+19-19llvm/test/MC/AArch64/armv9.7a-mpamv2.s
+3-3llvm/lib/Target/AArch64/AArch64SystemOperands.td
+2-2llvm/unittests/TargetParser/TargetParserTest.cpp
+0-4clang/test/Driver/aarch64-v97a.c
+2-2llvm/lib/Target/AArch64/AArch64Features.td
+1-1llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+27-313 files not shown
+30-349 files

LLVM/project ee3709bllvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 neon-partial-reduce-dot-product.ll

[AArch64] Lower SUMLA via two udot products on plain dotprod targets. (#199761)

Lower PARTIAL_REDUCE_SUMLA on targets without i8mm using udot via

sum(mul (zext %a, sext %b)) =
    sum(mul zext %a, zext (xor %b, 0x80)) -
    sum(mul 128, zext %a)

using  sext(s) = zext(xor(s, 0x80)) - 128
(https://alive2.llvm.org/ce/z/8G8rer)

Alive2 proofs:
* mul (zext, sext) https://alive2.llvm.org/ce/z/8Av7rG
* mul (sext, zext) https://alive2.llvm.org/ce/z/g-gJGq

PR: https://github.com/llvm/llvm-project/pull/199761
DeltaFile
+292-142llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
+43-11llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+335-1532 files

LLVM/project 7fb99eellvm/lib/Analysis CallGraphSCCPass.cpp, llvm/test/Other legacy-callgraph-scc-pass-printer.ll

Emit newline after IR-dump banner in PrintCallGraphPass (#199410)

Required for Compiler Explorer's opt-pipeline viewer: the tool parses
pass output by splitting on the IR-dump banner line, so the banner must
end with a newline. Without it, targets that exercise this pass cannot
be inspected through the opt-pipeline feature.

Assisted by Claude.
DeltaFile
+11-0llvm/test/Other/legacy-callgraph-scc-pass-printer.ll
+1-1llvm/lib/Analysis/CallGraphSCCPass.cpp
+12-12 files

LLVM/project 34f294cflang/lib/Semantics resolve-directives.cpp, flang/test/Semantics/OpenMP detach-symbols.f90

[flang][OpenMP] Event handles are not predetermined shared (#200055)

An event-handle variable that appears in a DETACH has its data-sharing
attributes determined according to the usual rules in the constructs
enclosing the clause.
DeltaFile
+0-17flang/test/Semantics/OpenMP/detach-symbols.f90
+0-11flang/lib/Semantics/resolve-directives.cpp
+0-282 files

FreeNAS/freenas 60f538c.github/workflows mypy.yml, src/middlewared/middlewared main.py

mypy checks for pwenc plugin
DeltaFile
+99-27src/middlewared/middlewared/api/base/decorator.py
+19-11src/middlewared/middlewared/plugins/pwenc.py
+2-1.github/workflows/mypy.yml
+2-0src/middlewared/middlewared/main.py
+122-394 files

OPNSense/core d8582fdsrc/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterController.php, src/opnsense/mvc/app/views/OPNsense/Firewall filter_rule.volt

Inspect button only reveals statistics now, all other filtering decisions have been removed from the Inspect button (show_all in FilterController)
DeltaFile
+6-6src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-1src/opnsense/mvc/app/views/OPNsense/Firewall/filter_rule.volt
+7-72 files

LLVM/project 9f82a4ellvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 ldst-opt.mir volatile-reg-writeback.ll

[AArch64] Do not generate indexed addressing mode for volatile accesses (#196305)

Instructions performing register writeback do not set a valid
instruction syndrome, making it impossible to handle MMIO in protected
hypervisors. Suppress the use of postinc/preinc addressing modes for
volatile accesses, which may be used to interact with MMIO.

There are three different places that can form indexed addressing modes:

 * GISel via isIndexingLegal()
 * SDAG via getPreIndexedAddressParts() and getPostIndexedAddressParts()
 * AArch64LoadStoreOptimizer

The the latter case, exclude volatile accesses on SP (which are relevant
for stack probing) and MTE tag stores, as both cannot be MMIO.

Fixes https://github.com/llvm/llvm-project/issues/173014.
DeltaFile
+36-36llvm/test/CodeGen/AArch64/ldst-opt.mir
+52-0llvm/test/CodeGen/AArch64/volatile-reg-writeback.ll
+14-15llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
+12-12llvm/test/CodeGen/AArch64/memtag-merge-writeback.mir
+24-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+10-10llvm/test/CodeGen/AArch64/arm64-ldst-unscaled-pre-post.mir
+148-736 files not shown
+174-9312 files

FreeNAS/freenas 3cec600.github/workflows mypy.yml, src/middlewared/middlewared main.py

mypy checks for pwenc plugin
DeltaFile
+69-2src/middlewared/middlewared/api/base/decorator.py
+19-11src/middlewared/middlewared/plugins/pwenc.py
+2-1.github/workflows/mypy.yml
+2-0src/middlewared/middlewared/main.py
+92-144 files

FreeBSD/src f9f4629usr.sbin/bsdinstall/distextract distextract.c

bsdinstall: Use libarchive secure flags for extract

This doesn't really matter, as we trust that the installer tarballs are
not malicious, but it doesn't hurt to set these flags.

Reported by: Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li, and Ke Xu from Tsinghua University using GLM-5.1 from Z.ai
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57274
DeltaFile
+2-0usr.sbin/bsdinstall/distextract/distextract.c
+2-01 files

FreeBSD/src fc9dc84sys/dev/sound/usb uaudio.c

snd_uaudio: Lock usbd_transfer_start() in uaudio_mixer_ctl_set()

This section would be previously locked by sound(4)'s mixer lock (see
e87654db5a09 ("snd_uaudio: Stop using mixer_get_lock()")), but
snd_uaudio(4) no longer uses it. This particular code path was missed
during testing, because my sound card does not reach it.

Fixes:          9a00e0b8ca56 ("snd_uaudio: Do not use snd_mixer->lock as mixer_lock")
Reported by:    netchild
Tested by:      netchild
Sponsored by:   The FreeBSD Foundation
MFC after:      6 days
DeltaFile
+6-4sys/dev/sound/usb/uaudio.c
+6-41 files

LLVM/project 98c7814llvm/test/tools/llubi gep.ll attributes.ll, llvm/tools/llubi/lib Context.cpp Value.h

[llubi] Add basic support for provenance modeling (#185977)

There are four solutions to model the provenance in the memory:
1. `(allocid, bitindex)` for each bit: It follows the definition of byte
type.
2. `(allocid, bitindex)` for each byte: This assumes the pointer/byte
types are always byte-sized, and requires bitextract/bitinsert to shift
by multiples of 8, as posted in
https://discourse.llvm.org/t/rfc-add-a-new-byte-type-to-llvm-ir/89522/53.
I believe this is true in most real-world cases.
3. Assign a random tag for each memory object: The tag has the same
width as the address. It is stored in the memory like addresses. Thus,
each logical byte only occupies 4 bytes. When loading a pointer, the tag
is loaded and used to recover the provenance. Incorrect bit ordering
will result in nullary provenance (with a negligible rate of false
negatives). I think it is feasible because we can always turn a false
negative into a positive with a different seed. It is also compatible
with captured components
(https://github.com/dtcxzyw/llvm-ub-aware-interpreter/blob/d15dfef5bc0c1b30b05512bbc28fddb2b50cc0b1/ubi.h#L187)

    [8 lines not shown]
DeltaFile
+85-20llvm/tools/llubi/lib/Context.cpp
+26-9llvm/tools/llubi/lib/Value.h
+27-8llvm/tools/llubi/lib/Context.h
+14-14llvm/test/tools/llubi/gep.ll
+13-13llvm/test/tools/llubi/attributes.ll
+9-11llvm/test/tools/llubi/metadata.ll
+174-7518 files not shown
+234-10524 files

OpenBSD/src RTT9sPeusr.sbin/bgpd rde_rib.c

   Previous commit introduced a logic bug.

   Code needs to call ib_dump_free() for every context where
   id matches ctx->ctx_id and ctx->ctx_re is set (this skips
   adjout_prefix_dump contexts since there ctx_re is NULL).

   OK tb@
VersionDeltaFile
1.300+3-4usr.sbin/bgpd/rde_rib.c
+3-41 files

LLVM/project 4471b62llvm/utils/git github-automation.py

[GitHub] Add InstCombine Contributor Guide to new contributor greeting comment (#199730)

I have always manually replied to new contributors, reminding them to
follow the InstCombine contributor guide. Let’s automate this process.

Now it will append the link to the guide when the PR changes the
InstCombine (and highly related components) files.
DeltaFile
+32-1llvm/utils/git/github-automation.py
+32-11 files

LLVM/project 40d0700clang/docs ReleaseNotes.rst, clang/include/clang/Basic DiagnosticParseKinds.td

address review
DeltaFile
+25-0clang/test/C/C2y/n3267.c
+10-4clang/lib/Parse/ParseExprCXX.cpp
+5-5clang/include/clang/Basic/DiagnosticParseKinds.td
+4-1clang/docs/ReleaseNotes.rst
+2-2clang/lib/Parse/ParseStmt.cpp
+46-125 files

LLVM/project 3e8fc35clang/include/clang/CIR MissingFeatures.h, clang/lib/CIR/CodeGen CIRGenCoroutine.cpp CIRGenException.cpp

[CIR] Implement 'coroutine' exception handling lowering (#200045)

This patch implements the lowering to CIR for exception handling.
Unfortunately the missing components of Flatten-CFG don't work here, so
we only test that we get successfully to CIR, not to LLVM-IR.

This patch runs the 'await-resume' in a try/catch, and only if that
succeeds, does it run the coroutine body (also in a try/catch if there
is an exception handler).

This is nearly identical to the implementation in classic-codegen,
except we invert the resume-eh variable's value, so we can just use a
simple `if` op for the branch.
DeltaFile
+138-0clang/test/CIR/CodeGen/coro-exceptions.cpp
+118-15clang/lib/CIR/CodeGen/CIRGenCoroutine.cpp
+3-1clang/lib/CIR/CodeGen/CIRGenException.cpp
+0-1clang/include/clang/CIR/MissingFeatures.h
+259-174 files

FreeBSD/src 7b2702esys/amd64/amd64 machdep.c, sys/sys systm.h

sys: add safe_read(9)

The MD function with MI interface to provide a way to read arbitrary
(canonical) KVA.  amd64 only for now.

Reviewed by:    markj
Tested by:      aokblast
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D49566
DeltaFile
+18-0sys/amd64/amd64/machdep.c
+8-0sys/sys/systm.h
+26-02 files

FreeBSD/src 67d61d1sys/amd64/amd64 mem.c uio_machdep.c, sys/amd64/include md_var.h

amd64: extract uiomove_mem() from memrw()

Reviewed by:    markj
Tested by:      aokblast
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D49566
DeltaFile
+11-92sys/amd64/amd64/mem.c
+96-0sys/amd64/amd64/uio_machdep.c
+6-0sys/amd64/include/md_var.h
+113-923 files

NetBSD/pkgsrc gBHkU0Pdoc CHANGES-2026

   Updated security/pcsc-lite, security/dropbear
VersionDeltaFile
1.3321+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc EExHqjisecurity/dropbear/patches patch-src_scp.c

   dropbear: add new patch
VersionDeltaFile
1.1+29-0security/dropbear/patches/patch-src_scp.c
+29-01 files

NetBSD/pkgsrc BxvlxqVsecurity/dropbear distinfo Makefile

   dropbear: updated to 2026.91

   2026.91 - 10 May 2026

   - scp: Fix test for disallowing -r with existing target directory. The logic
     introduced in 2026.90 was incorrect, could also disallow non-recursive
     transfers.

   - scp: Fix regression in 2026.90 building on older glibc or other libc.
     reallocarray() was required, it is no longer needed.

   - Compression is now disabled by default for dbclient. A new -o compression option
     can enable it. DROPBEAR_CLI_COMPRESSION in localoptions.h can change the default.
     Enabling compression can be a security weakness in some
     circumstances, as the size of network traffic may leak information
     about the encrypted data.

   - Added '-Q' argument for dbclient and dropbear to query supported algorithms,
     kex sig cipher mac compress
VersionDeltaFile
1.39+5-4security/dropbear/distinfo
1.47+2-2security/dropbear/Makefile
+7-62 files

NetBSD/pkgsrc QtdJMLTsecurity/pcsc-lite distinfo Makefile

   pcsc-lite: updated to 2.5.0

   2.5.0: Ludovic Rousseau
   27 May 2026
   - Do not limit to 16 readers only
   - Remove support of autotools
   - Fix a crash when rescanning serial configs
   - Fix a memory leak in Polkit
   - tokenparser: avoid a crash with corrupted Info.plist files
   - Some other minor improvements
VersionDeltaFile
1.45+4-4security/pcsc-lite/distinfo
1.57+2-2security/pcsc-lite/Makefile
+6-62 files

LLVM/project 61b5b08libc/test/integration/src/__support/GPU CMakeLists.txt

[libc] Move fixed buffer GPU test to an integration test (#200042)

Move the `fixedbuffer` GPU test to an integration test.

libc tests are intended to be GTest style tests written with the normal
`TEST(Suite, Test)` GTest macros. Example
[here](https://github.com/llvm/llvm-project/blob/main/libc/test/include/SignbitTest.h#L32).

This test has its own `main` which ends up causing a `main multiple
definitions` linker error when compiling for SPIR-V (work in progress).
I'm not sure why this error doesn't occur for AMDGPU, probably the fact
we have to compile with a ton less compile/linker flags for SPIR-V and
one of them hides the issue.

Specifically the fix is that we don't link against
`libc/test/UnitTest/CMakeFiles/LibcTest.hermetic.dir/LibcTestMain.cpp.o`
which has its own main which conflicts with the one defined in the test.

All other tests in this directory are integration tests too.

    [4 lines not shown]
DeltaFile
+1-1libc/test/integration/src/__support/GPU/CMakeLists.txt
+1-11 files

NetBSD/pkgsrc 3c5ncp6doc CHANGES-2026

   Updated textproc/py-myst-parser, security/py-google-auth-oauthlib
VersionDeltaFile
1.3320+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc dwujuh0security/py-google-auth-oauthlib Makefile distinfo

   py-google-auth-oauthlib: updated to 1.4.0

   1.4.0 (2026-05-06)

   Bug Fixes

   Drop support for Python 3.9
   replace deprecated utcfromtimestamp in google-auth-oauthlib
VersionDeltaFile
1.29+5-5security/py-google-auth-oauthlib/Makefile
1.24+4-4security/py-google-auth-oauthlib/distinfo
+9-92 files

FreeBSD/src 39f23afusr.sbin/certctl certctl.c

certctl: Style nits

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D57298
DeltaFile
+3-2usr.sbin/certctl/certctl.c
+3-21 files

NetBSD/pkgsrc nhfKG6rtextproc/py-myst-parser Makefile distinfo

   py-myst-parser: updated to 5.1.0

   5.1.0 - 2026-05-13

   New Features

   - Add `"alert"` syntax extension for [GFM alerts](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#alerts) (e.g. `> [!NOTE]`), see [](syntax/alerts)
   - Add `"gfm_autolink"` syntax extension for [GFM autolinks](https://github.github.com/gfm/#autolinks-extension-), see [](syntax/gfm-autolink)
   - Add `myst_strikethrough_single_tilde` [config option](sphinx/config-options) to allow single tilde (`~`) for strikethrough
   - Add `myst_colon_fence_exact_match` [config option](sphinx/config-options) to require the closing colon fence to have exactly the same number of colons as the opening, see [](syntax/colon_fence)

   Improvements

   - Update [`myst_gfm_only`](sphinx/config-options) mode to use the unified `gfm_plugin`, which now includes GFM autolinks, alerts, and improved strikethrough/tasklist handling
   - Improve MathJax 4 compatibility for Sphinx 9
   - Stop directive-option parsing at colon fences, fixing nested colon fence directives

   Bug Fixes


    [4 lines not shown]
VersionDeltaFile
1.11+8-11textproc/py-myst-parser/Makefile
1.6+4-4textproc/py-myst-parser/distinfo
+12-152 files

FreeBSD/src 05039fdtests/sys/acl tools-posix.test run

tests: Fix reliability issues in POSIX ACL tests

The ACL tests use UIDs and GIDs 41 through 49 and expect them to be
unassigned.  Since GID 43 is now assigned to the audio group, some
tests have begun to fail.

While here, also fix a benign Perl syntax issue in the test runner.

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D57297
DeltaFile
+7-7tests/sys/acl/tools-posix.test
+1-1tests/sys/acl/run
+8-82 files