LLVM/project e0ccf9cllvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/AArch64 usub_sat_plus.ll and-mask-removal.ll

[AArch64][SelectionDAG] Generate subs+csel for usub.sat (#193203)

Fixes https://github.com/llvm/llvm-project/issues/191488

As this is a regression of
https://github.com/llvm/llvm-project/pull/170076, adds a check to avoid
generic lowering of usub.sat to X - zext(X != 0) in case of aarch64 by
making the constraint of this transformation stricter via an extra
isOperationLegalOrCustom guard on USUBO_CARRY. All other backends will
still receive generic lowering as implemented in the original patch.
DeltaFile
+18-0llvm/test/CodeGen/AArch64/usub_sat_plus.ll
+3-3llvm/test/CodeGen/AArch64/and-mask-removal.ll
+3-3llvm/test/CodeGen/X86/combine-sub-usat.ll
+3-1llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+27-74 files

LLVM/project f43471allvm/lib/Transforms/InstCombine InstCombineShifts.cpp InstCombineCompares.cpp, llvm/test/Transforms/InstCombine icmp-shl-add-to-add.ll apint-shift.ll

[InstCombine] Reland #165975: Fix #163110: Support peeling off matching shifts from icmp operands via canEvaluateShifted (#190918)

This relanding of #165975 fixes the bug that caused the bootstrap-asan
buildbot failure
(https://lab.llvm.org/buildbot/#/builders/52/builds/16329).

## Original optimization

Consider a pattern like: `icmp (shl nsw/nuw X, L), (add nsw/nuw (shl
nsw/nuw Y, L), K)`

When K is a multiple of 2^L, this can be simplified to: `icmp X, (add
nsw/nuw Y, K >> L)`

This patch extends `canEvaluateShifted` to support `Instruction::Add`
and refactors its signature to accept a `ShiftSemantics` enum (`Lossy` /
`Unsigned` / `Signed`) instead of a bare opcode. This allows the
function to enforce losslessness requirements according to the overflow
flags (nsw/nuw) of the operands. The logic is wired into

    [14 lines not shown]
DeltaFile
+358-0llvm/test/Transforms/InstCombine/icmp-shl-add-to-add.ll
+112-42llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
+28-0llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+14-0llvm/lib/Transforms/InstCombine/InstCombineInternal.h
+3-3llvm/test/Transforms/InstCombine/apint-shift.ll
+1-1llvm/test/Transforms/InstCombine/icmp-select.ll
+516-466 files

LLVM/project e734289clang/lib/AST/ByteCode Compiler.cpp, clang/test/AST/ByteCode/libcxx lvalue-constantexpr.cpp apvalue-initializer.cpp

[clang][bytecode] Rework APValue visiting (#194408)

First, we can't just ignore the LValuePath of an lvalue APValue. Add
code to handle that and a test case exercising the newly added code.

We also didn't look at APValue bases when initializing from an APValue.
DeltaFile
+82-18clang/lib/AST/ByteCode/Compiler.cpp
+65-0clang/test/AST/ByteCode/libcxx/lvalue-constantexpr.cpp
+39-0clang/test/AST/ByteCode/libcxx/apvalue-initializer.cpp
+186-183 files

LLVM/project ca06985clang/include/clang/Basic Attr.td AttrDocs.td, clang/lib/Driver/ToolChains Clang.cpp

[SystemZ] Enable -fpatchable-function-entry=M,N (#178191)

This PR enables the option `-fpatchable-function-entry` for SystemZ. It
utilizes existing common code and just adds the emission of nops after
the function label in the backend.

SystemZ provides multiple nop options of varying length, making the
semantics of this option somewhat ambiguous. In order to align with what
`gcc` does with that same option, we#re choosing `nopr` as the
canoonical nop for this purpose.

For test, this adapts an existing test file from aarch64.

(cherry picked from commit 355898a6ce901bf9285a428888068e008b5557e9)
DeltaFile
+102-0llvm/test/CodeGen/SystemZ/patchable-function-entry.ll
+21-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+4-3clang/include/clang/Basic/Attr.td
+5-0llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+1-1clang/include/clang/Basic/AttrDocs.td
+134-51 files not shown
+136-57 files

LLVM/project 0d37e79llvm/test/CodeGen/X86 vector-interleaved-store-i32-stride-7.ll vector-interleaved-store-i32-stride-5.ll

[X86] lowerV4F32Shuffle - don't use INSERTPS if SHUFPS will suffice (#186468)

If we have 2 or more undef/undemanded elements, the INSERTPS replaces
those with explicit zero'd elements which can cause infinite loops later
on in shuffle combining depending on whether we demand those elements or
not.

I'll try to improve the (minor) v2f32 regressions in a follow up, but I
need to fix the infinite loop first.

Fixes #186403
DeltaFile
+63-63llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
+32-32llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
+30-30llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
+17-42llvm/test/CodeGen/X86/vector-shuffle-combining.ll
+41-0llvm/test/CodeGen/X86/vector-shuffle-combining-sse41.ll
+8-26llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
+191-1937 files not shown
+239-23713 files

LLVM/project 9b72202compiler-rt/lib/sanitizer_common sanitizer_platform_limits_posix.cpp

[compiler-rt][sanitizer] Remove linux/scc.h (#194116)

#194110

Linux Kernel has removed scc.h header completely from the source code
Therefore, we need to remove the usage in compiler-rt/sanitizer too.
https://github.com/torvalds/linux/commit/64edfa65062dc4509ba75978116b2f6d392346f5#diff-1ca78e598a5041ee51ae795d168435afad598b82a7a0ce80f215993589b96c7c

Without removing it, not only it breaks compiler-rt but also GCC build
since GCC always builds libsanitizer for linux targets.

After merging this we will need to cherry pick to GCC.

(cherry picked from commit 3dc4fd6dd41100f051a63642f449b16324389c96)
DeltaFile
+9-12compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
+9-121 files

LLVM/project 7bf7d99llvm/lib/Target/AArch64 AArch64AsmPrinter.cpp

[NFC][AArch64] Allocate AArch64Subtarget on the heap instead of stack (#176488)

(cherry picked from commit d1304b635bb66b08c9556ef650410517fc486eab)
DeltaFile
+17-11llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+17-111 files

LLVM/project 98348c3clang/include/clang/AST DeclBase.h DeclContextInternals.h, clang/lib/AST DeclBase.cpp Decl.cpp

[C++20] [Modules] Add VisiblePromoted module ownership kind (#189903)

This patch adds a new ModuleOwnershipKind::VisiblePromoted to handle
declarations that are not visible to the current TU but are promoted to
be visible to avoid re-parsing.

Originally we set the visible visiblity directly in such cases. But
https://github.com/llvm/llvm-project/issues/188853 shows such decls may
be excluded later if we import #include and then import. So we have to
introduce a new visibility to express the intention that the visibility
of the decl is intentionally promoted.

Close https://github.com/llvm/llvm-project/issues/188853

(cherry picked from commit c97e08e331736ae8c7d17bf1f24954570f564ad0)
DeltaFile
+47-0clang/test/Modules/include-between-imports-enums.cppm
+14-1clang/include/clang/AST/DeclBase.h
+3-1clang/include/clang/AST/DeclContextInternals.h
+2-1clang/lib/AST/DeclBase.cpp
+1-1clang/lib/Sema/SemaLookup.cpp
+1-0clang/lib/AST/Decl.cpp
+68-41 files not shown
+69-47 files

OpenBSD/src j1zBbhysys/dev/pci/drm/include/linux xarray.h

   add DEFINE_XARRAY_FLAGS() for 6.18.25 drm
VersionDeltaFile
1.9+8-0sys/dev/pci/drm/include/linux/xarray.h
+8-01 files

FreeBSD/src 8d584f0sys/netgraph/bluetooth/drivers/ubt ng_ubt_rtl.c, usr.sbin/bluetooth/rtlbtfw rtlbtfw.conf main.c

bluetooth: remove redundant 0x0bda entries from ng_ubt_rtl, rtlbtfw

Generic Realtek vendor rules already match all 0x0bda Bluetooth devices.
Remove the redundant per-product entries from ng_ubt_rtl.c,
rtlbtfw main.c, and rtlbtfw.conf.

Reviewed by:    wulf
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D56137

(cherry picked from commit f3fc362c0fb27731e2c22523e0cedf1adec26c44)
DeltaFile
+0-68usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
+6-18sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
+6-18usr.sbin/bluetooth/rtlbtfw/main.c
+12-1043 files

LLVM/project 26493fcllvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVISelLowering.h

[RISCV][NFC] Turn lowerVECTOR_SHUFFLE into a member function of RISCVTargetLowering (#194299)

Convert lowerVECTOR_SHUFFLE into a member function of
RISCVTargetLowering, aligning it with other lowerXXX member functions in
RISCVTargetLowering and matching other targets like AArch64.
DeltaFile
+4-4llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+1-0llvm/lib/Target/RISCV/RISCVISelLowering.h
+5-42 files

FreeBSD/ports d26d65bsecurity/dehydrated Makefile, security/dehydrated/files 000.dehydrated.weekly.in

security/dehydrated: Ensure the periodic script exits with the proper error code

PR:             294021
Reported by:    Henrik <henrik at eyetea.se>
Reviewed by:    linimon
MFH:            2026Q2
DeltaFile
+4-0security/dehydrated/files/000.dehydrated.weekly.in
+1-0security/dehydrated/Makefile
+5-02 files

GhostBSD/ghostbsd 99546d8stand/lua menu.lua

menu: update boot prompt message and handle Enter key to boot immediately
DeltaFile
+4-1stand/lua/menu.lua
+4-11 files

LLVM/project 955bb5cclang-tools-extra/docs/clang-tidy/checks/cert flp37-c.rst exp42-c.rst

[clang-tidy][Docs] Remove all auto-redirects in documentation. NFC. (#193408)

RFC:
https://discourse.llvm.org/t/rfc-remove-automatic-redirects-from-clang-tidy-documentation/90633
DeltaFile
+1-2clang-tools-extra/docs/clang-tidy/checks/cert/flp37-c.rst
+1-2clang-tools-extra/docs/clang-tidy/checks/cert/exp42-c.rst
+1-2clang-tools-extra/docs/clang-tidy/checks/cert/exp45-c.rst
+0-2clang-tools-extra/docs/clang-tidy/checks/cert/ctr56-cpp.rst
+0-2clang-tools-extra/docs/clang-tidy/checks/cert/dcl03-c.rst
+0-2clang-tools-extra/docs/clang-tidy/checks/cert/dcl16-c.rst
+3-1289 files not shown
+3-19095 files

LLVM/project 61adeccmlir/include/mlir/Dialect/XeGPU/uArch IntelGpuXe2.h, mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp XeGPUPropagateLayout.cpp

[MLIR][XeGPU] XeGPU DpasMx Op Definition adds Layout Support (#194117)

This PR extends the DpasMx operation to support MXFP (microscaling
floating point) matrix multiply with separate scale factor layouts.

1. Op Definition
     Added layout_a_scale and layout_b_scale attributes to DpasMx op
Removed AllElementTypesMatch<["a", "b"]> trait to allow different types
for A/B with scales
2. Layout Infrastructure
setupDpasMxLayout(): Creates anchor layouts for all 5 operands (A, B,
C/D, scale_a, scale_b)
Derives scale layouts from parent matrix layouts by dividing innermost
dimension
    Supports all layout kinds: Subgroup, InstData, Lane
Fix a bug in getupDpasSubgroupLayouts(): sg_data of A/B matrix should
keep the full K dimension.
3. Layout Propagation


    [7 lines not shown]
DeltaFile
+303-112mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+196-3mlir/include/mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h
+135-0mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
+97-15mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
+86-1mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
+85-1mlir/test/Dialect/XeGPU/propagate-layout.mlir
+902-1324 files not shown
+930-14310 files

LLVM/project 3c66b32libc/shared/math llogbbf16.h, libc/src/__support/math llogbbf16.h CMakeLists.txt

[libc][math] Refactor llogbbf16 to header-only (#194509)

Refactor llogbbf16 to be header-only.

part of: #147386
DeltaFile
+26-0libc/src/__support/math/llogbbf16.h
+23-0libc/shared/math/llogbbf16.h
+17-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+11-0libc/src/__support/math/CMakeLists.txt
+2-7libc/src/math/generic/llogbbf16.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+80-124 files not shown
+85-1210 files

OpenBSD/src T6gp4CYsys/dev/pci/drm drm_linux.c

   Make xarray cyclic start looking for a free id at the position specified
   by the next argument and stop after wrapping back to that position.

   Previously looking for a free id started at the beginning of the
   allocation range and stopped at the end, ignoring the next argument.

   Currently xarray cyclic id allocations are only used by the GuC code in
   inteldrm.  In 6.18.25 drm, the amdgpu PASID allocation changes from
   using cyclic idr to cyclic xarray.
VersionDeltaFile
1.136+43-10sys/dev/pci/drm/drm_linux.c
+43-101 files

LLVM/project fe46959libc/shared/math ilogbbf16.h, libc/src/__support/math ilogbbf16.h CMakeLists.txt

[libc][math] Refactor ilogbbf16 to header-only (#194503)

Refactors ilogbbf16 to be header-only.
DeltaFile
+26-0libc/src/__support/math/ilogbbf16.h
+23-0libc/shared/math/ilogbbf16.h
+17-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+2-7libc/src/math/generic/ilogbbf16.cpp
+9-0libc/src/__support/math/CMakeLists.txt
+1-5libc/src/math/generic/CMakeLists.txt
+78-124 files not shown
+84-1210 files

FreeNAS/freenas 906eb37src/middlewared/middlewared/plugins/vm utils.py clone.py

Copy VM NVRAM and TPM state on clone
DeltaFile
+72-0src/middlewared/middlewared/plugins/vm/utils.py
+38-0src/middlewared/middlewared/plugins/vm/clone.py
+110-02 files

LLVM/project 1228142clang/lib/CIR/CodeGen CIRGenExprAggregate.cpp, clang/test/CIR/CodeGen consteval-aggregate.cpp

[CIR] Implement PredefinedExpr in aggregate emitter and add consteval… (#194484)

… aggregate test

Handle PredefinedExpr by delegating to emitAggLoadOfLValue, removing the
NYI fallback. Also add a test for ConstantExpr aggregate emission
(consteval functions returning structs), which was already implemented
but lacked test coverage.

This unblocks ~206 libcxx test failures that involve aggregate
ConstantExpr and PredefinedExpr.

Note on LLVM IR divergence (will be addressed in follow-up PRs): For
consteval functions returning aggregates, CIR currently emits a global
constant + cir.copy that lowers to llvm.memcpy from the global, while
OGCG decomposes the constant into per-field stores. The added CIR / LLVM
/ OGCG CHECK lines in consteval-aggregate.cpp document this difference.
Convergence will come from a follow-up that decomposes the consteval
aggregate stores into per-field stores in LoweringPrepare (and related
GEP-index handling for padded structs).
DeltaFile
+44-0clang/test/CIR/CodeGen/consteval-aggregate.cpp
+1-4clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
+45-42 files

LLVM/project eec2249llvm/lib/Target/RISCV RISCVTargetTransformInfo.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-interleave.ll

[RISCV] Improve getInterleavedMemoryOpCost for interleave groups with tail gaps. (#192074)

For interleaved access groups where gaps are only at the tail (i.e.
members are contiguous starting from index 0 but do not fill the entire
factor), the interleaved memory access pass can lower them to
vlsseg/vssseg intrinsics with NF equal to the number of group members
rather than the factor after #151612 and #154647.

Previously these groups fell through to the generic fixed-vector shuffle
cost model. This patch adds a dedicated cost path that checks legality
and estimates appropriate cost for them.

TODO: Support scalable vector type.
Fix #151497
DeltaFile
+11-18llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
+28-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+39-182 files

FreeBSD/ports c5823c8audio/intersect-lv2/files patch-meson.build, devel/highway distinfo pkg-plist

devel/highway: update to 1.4.0

Changes:        https://github.com/google/highway/releases/tag/1.4.0
Reported by:    GitHub (watch releases)
DeltaFile
+5-7devel/highway/distinfo
+11-0audio/intersect-lv2/files/patch-meson.build
+7-3devel/highway/pkg-plist
+2-3devel/highway/Makefile
+25-134 files

FreeBSD/ports 8bc63e3emulators/libc6-shim Makefile distinfo

emulators/libc6-shim: Update 20251025 => 20260426

Commit log:
https://github.com/shkhln/libc6-shim/compare/20251025...20260426

While here:
- Remove unnecessary GH_PROJECT - it's default value.
- Split long lines in post-patch.
- Merge MKDIRs in do-install.

PR:             294834
Sponsored by:   UNIS Labs
DeltaFile
+10-8emulators/libc6-shim/Makefile
+3-3emulators/libc6-shim/distinfo
+13-112 files

LLVM/project 085f240clang/lib/CIR/CodeGen CIRGenExprConstant.cpp CIRGenModule.cpp, clang/test/CIR/CodeGen temp-param-obj-decl.cpp

[CIR] Lower constant NTTP objects (#194496)

Like my previous patch, this just stores an NTTP object as a global
(using the same code, with 1 level of indrection slipped off), and
initializes it as a const. This patch also fleshes out the
CIRGenExprConstant.cpp area, leaving just 2 'NYI's in the area, 1 of
which is the MSGuidAttr again.
DeltaFile
+15-4clang/test/CIR/CodeGen/temp-param-obj-decl.cpp
+11-6clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
+3-3clang/lib/CIR/CodeGen/CIRGenModule.cpp
+2-1clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+1-1clang/lib/CIR/CodeGen/CIRGenModule.h
+32-155 files

LLVM/project 5281d4clibc/shared/math bf16subl.h, libc/src/__support/math bf16subl.h CMakeLists.txt

[libc][math] Refactor bf16subl to header-only (#194498)

Refactors the bf16subl math family to be header-only.
DeltaFile
+26-0libc/src/__support/math/bf16subl.h
+23-0libc/shared/math/bf16subl.h
+15-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+9-0libc/src/__support/math/CMakeLists.txt
+2-5libc/src/math/generic/bf16subl.cpp
+1-5libc/src/math/generic/CMakeLists.txt
+76-104 files not shown
+81-1010 files

FreeBSD/ports e43ce3ax11/iceauth Makefile pkg-descr

x11/iceauth: Update to 1.0.11

Add WWW and update pkg-descr.

https://lists.x.org/archives/xorg-announce/2022-April/003140.html
https://lists.x.org/archives/xorg-announce/2024-March/003480.html
https://lists.x.org/archives/xorg-announce/2026-April/003683.html

PR:             288049
Approved by:    x11 (arrowd)
Approved by:    osa (mentor)
DeltaFile
+4-6x11/iceauth/Makefile
+5-2x11/iceauth/pkg-descr
+3-3x11/iceauth/distinfo
+12-113 files

LLVM/project eac6d03clang/test/Driver modules-driver-import-std.cpp

[clang][modules-driver] Fix failing import-std regression test (#194502)

See
https://github.com/llvm/llvm-project/pull/194475#issuecomment-4331347690.
This constrains the test to not run on aarch64, where it fails on
`clang-aarch64-quick` and `llvm-clang-aarch64-darwin` builders.
The failing builders don't show any output, and the test will be
re-enabled for aarch64 in a later follow-up.

Co-authored-by: Naveen Seth Hanig <naveen.hanig at oulook.com>
DeltaFile
+3-0clang/test/Driver/modules-driver-import-std.cpp
+3-01 files

FreeBSD/ports 8d4498ax11/libXvMC distinfo Makefile

x11/libXvMC: Update to 1.0.15

Update WWW.

https://lists.x.org/archives/xorg-announce/2026-January/003665.html

PR:             294743
Approved by:    x11 (arrowd)
Approved by:    osa (mentor)
DeltaFile
+3-3x11/libXvMC/distinfo
+2-2x11/libXvMC/Makefile
+5-52 files

FreeBSD/ports 8407c94lang/bun Makefile, lang/bun/files patch-src_codegen_bake-codegen.ts patch-build.zig

lang/bun: New port: JavaScript runtime, bundler, test runner, and package manager
DeltaFile
+246-0lang/bun/Makefile
+48-0lang/bun/files/patch-src_codegen_bake-codegen.ts
+42-0lang/bun/files/patch-build.zig
+39-0lang/bun/files/patch-test_integration_next-pages_test_dev-server-ssr-100.test.ts
+38-0lang/bun/files/patch-scripts_build_config.ts
+37-0lang/bun/files/patch-test_regression_issue_24314.test.ts
+450-010 files not shown
+634-016 files

LLVM/project 3ad8184llvm/docs LangRef.rst ReleaseNotes.md, llvm/include/llvm/IR DataLayout.h

[DataLayout] Add null pointer value infrastructure

Add support for specifying the null pointer bit representation per address space
in DataLayout via new pointer spec flags:
- 'z': null pointer is all-zeros
- 'o': null pointer is all-ones

When neither flag is present, the address space inherits the default set by the
new 'N<null-value>' top-level specifier ('Nz' or 'No'). If that is also absent,
the null pointer value is zero.

No target DataLayout strings are updated in this change. This is pure
infrastructure for a future ConstantPointerNull semantic change to support
targets with non-zero null pointers (e.g. AMDGPU).
DeltaFile
+136-1llvm/unittests/IR/DataLayoutTest.cpp
+61-6llvm/lib/IR/DataLayout.cpp
+23-1llvm/include/llvm/IR/DataLayout.h
+17-1llvm/docs/LangRef.rst
+8-0llvm/docs/ReleaseNotes.md
+245-95 files