LLVM/project 66cd617 — llvm/lib/IR Verifier.cpp

Classify string function attributes with a sorted table

This is slightly slower than the StringSwitch version
DeltaFile
+107-75llvm/lib/IR/Verifier.cpp
+107-751 files

LLVM/project d865ff9 — clang/lib/Analysis ThreadSafetyCommon.cpp, clang/lib/Sema SemaTemplateInstantiate.cpp

[clang][Sema][ThreadSafety] Accept a pointee parameter of any redeclaration (#235813)

An attribute on a function pointer may name a parameter of its pointee:

    extern void (*cb)(int, Guarded *g);
    void (*cb)(int, Guarded *g) REQUIRES(g->mu) = nullptr;

Importantly, this also can come up for templates, where the "later"
definition is the same definition, but re-instantiated later (templates
also have other bugs which will be fixed separately). At a call through
'cb', the analysis substituted the call's arguments for the pointee's
parameters, but it accepted only a parameter of the canonical
declaration's prototype. Since the attribute above is on a
redeclaration, it names that redeclaration's 'g', which hit the
llvm_unreachable "ParmVarDecl does not belong to current declaration".

The `getCanonicalParamDecl` previously had two purposes: identifying the
canonical identity of a parameter in the body, and this assert. There
cannot be a body on a function pointer, so we don't need to be able to

    [14 lines not shown]
DeltaFile
+36-0clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+16-18clang/lib/Analysis/ThreadSafetyCommon.cpp
+7-3clang/lib/Sema/SemaTemplateInstantiate.cpp
+59-213 files

LLVM/project bc01630 — llvm/lib/IR Verifier.cpp, llvm/test/Verifier branch-prot-attrs.ll

Verifier: Check each string function attribute once

verifyFunctionAttrs looked up about 35 string attributes by name for
every function and call site. Iterate over the string attributes that
are present instead, and only look up the attributes they depend on.

Whole O3 instructions in opt:
  kimwitu++ k.bc -1.03%, SPASS cnf.bc -0.34%, sqlite3 -0.12%.

CTMark instructions:u: ThinLTO -0.05%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+247-223llvm/lib/IR/Verifier.cpp
+10-10llvm/test/Verifier/branch-prot-attrs.ll
+257-2332 files

LLVM/project baac97e — llvm/lib/Analysis ConstantFolding.cpp, llvm/test/Transforms/InstSimplify bitcast-vector-fold.ll

[ConstantFolding] Fold constant vector `bitcast`s to scalar bytes (#242811)

#188030 added `bitcast` constant folding for byte types.
This PR handles vector to scalar byte `bitcast`s.

Constant fold vector `bitcast`s to scalar bytes.

- A vector of integers or floating-point values folds to a byte constant
with the same bits.
- A vector with a `poison` element isn't folded, as a byte constant
can't represent partial `poison` values.
- A vector of pointers isn't folded, as a byte constant can't represent
pointer provenance.
- A vector of bytes with an element that isn't a plain constant, like a
pointer, isn't folded, as it would drop provenance.

```llvm
%a = bitcast <2 x i32> <i32 1, i32 2> to b64       ; b64 8589934593
%b = bitextract i8, b64 %a, i32 32                 ; i8 2
%c = bitcast <2 x i32> <i32 1, i32 poison> to b64  ; unchanged
```
DeltaFile
+89-0llvm/test/Transforms/InstSimplify/bitcast-vector-fold.ll
+19-5llvm/lib/Analysis/ConstantFolding.cpp
+18-0llvm/test/Transforms/InstSimplify/ConstProp/bitinsert-bitextract.ll
+126-53 files

LLVM/project dd3f221 — llvm/lib/Target/AMDGPU SIOptimizeExecMaskingPreRA.cpp, llvm/test/CodeGen/AMDGPU optimize-exec-masking-pre-ra.mir

AMDGPU: Update physreg LiveIntervals accurately in SIOptimizeExecMaskingPreRA

Instead of dropping the exec/vcc/scc register unit ranges after any
change, remove all physreg defs of the instruction. This fixes the
redundant exec copy fold leaving a stale def in the exec range for
COPY $exec, implicit-def $exec, which was hidden by always
recomputing.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+55-0llvm/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
+17-13llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
+72-132 files

NetBSD/pkgsrc-wip 2c60f4b — . Makefile, tabiew DESCR Makefile

tabiew: start on upgrade, doesn't build
DeltaFile
+1,796-0tabiew/distinfo
+599-0tabiew/cargo-depends.mk
+111-0tabiew/TODO
+19-0tabiew/Makefile
+11-0tabiew/DESCR
+3-3Makefile
+2,539-31 files not shown
+2,541-37 files

FreeBSD/src 7518829 — sys/netinet/tcp_stacks bbr.c

tcp bbr: improve persits timeout computation

t_srtt and t_rttvar use different lengths of fractions, therefore use
the appropriate shift value.

Reviewed by:            Peter Lei
MFC after:              3 days
MFC to:                 stable/15
Sponsored by:           Netflix, Inc.
Differential Revision:  https://reviews.freebsd.org/D61600
DeltaFile
+1-1sys/netinet/tcp_stacks/bbr.c
+1-11 files

NetBSD/pkgsrc DJ3QGg2 — textproc/rumdl Makefile cargo-depends.mk

   rumdl: update to 0.3.4.

   0.3.4

   Breaking Changes

       Rust library API: Removed unused helpers and deprecated compatibility wrappers.
       Use warning_to_code_actions instead of warning_to_code_action. See the
       cleanup commit
       for the complete list of removals.

   Added

       MD013: check and reflow frontmatter values (#998) (c40744c)
       schema: describe rule sections and option types (#997) (da0faf7)

   Fixed

       MD013: measure frontmatter before Markdown exemptions (45841ff)

    [47 lines not shown]
VersionDeltaFile
1.61+13-10textproc/rumdl/distinfo
1.28+3-2textproc/rumdl/cargo-depends.mk
1.63+2-2textproc/rumdl/Makefile
+18-143 files

LLVM/project 183ed3a — llvm/test/Transforms/SLPVectorizer/X86 gather-shuffle-all-candidates.ll

[SLP][NFC]Add an extra test for shuffles costings, NFC

Pull-request: https://github.com/llvm/llvm-project/pull/242859
DeltaFile
+130-0llvm/test/Transforms/SLPVectorizer/X86/gather-shuffle-all-candidates.ll
+130-01 files

NetBSD/pkgsrc W3cPtJ0 — doc pkg-vulnerabilities

   set fix version for libexif for CVE-2026-32775
   Thanks to Sanctus Gray for pointing out the libexif 0.6.26 release notes
VersionDeltaFile
1.814+2-2doc/pkg-vulnerabilities
+2-21 files

FreeBSD/ports eb9f276 — sysutils/coxswain Makefile distinfo

sysutils/coxswain: Update 2.36.0 => 2.37.0

Changelog:
https://github.com/mwo-dk/coxswain/blob/v2.37.0/docs/changelog.md

PR:             300798
Approved by:    osa, vvd (mentors, implicit)
DeltaFile
+3-3sysutils/coxswain/distinfo
+1-1sysutils/coxswain/Makefile
+4-42 files

LLVM/project ef72a0e — llvm/lib/Analysis InstructionSimplify.cpp, llvm/test/Transforms/InstSimplify bitinsert-bitextract.ll

[InstSimplify] Simplify vector `bitinsert` and `bitextract` with out-of-range offsets (#242816)

Simplify vector `bitinsert` and `bitextract` to `poison` when every
element of a constant offset is out of range or `poison`.

#229125 added this fold for scalar and splat offsets. This extends it to
non-splat vector offsets.

```llvm
%a = bitextract <4 x i8>, <4 x b32> %x, <4 x i32> <i32 25, i32 32, i32 poison, i32 -1>  ; poison
%b = bitextract <4 x i8>, <4 x b32> %x, <4 x i32> <i32 0, i32 8, i32 16, i32 25>        ; unchanged, only the last element is out of range
```
DeltaFile
+24-5llvm/lib/Analysis/InstructionSimplify.cpp
+18-0llvm/test/Transforms/InstSimplify/bitinsert-bitextract.ll
+42-52 files

NetBSD/pkgsrc js3oVqd — doc CHANGES-2026

   doc: Updated sysutils/consolekit to 1.2.7
VersionDeltaFile
1.8047+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc KCWckw8 — sysutils/consolekit distinfo Makefile

   consolekit: update to 1.2.7.

   New Features:

       Implement sd_session_is_remote() and sd_session_get_display()
       Export Seat's CanGraphical property on the D-Bus

   Bug Fixes:

       Only remove the inhibit lock if the event list is empty

   Misc Changes:

       Don't manage XDG_RUNTIME_DIR on OpenBSD,
       the OS takes care of it.
       Fix documentation and tests
       Remove workaround to sleep before calling zzz
VersionDeltaFile
1.61+4-5sysutils/consolekit/Makefile
1.24+4-4sysutils/consolekit/distinfo
+8-92 files

LLVM/project 286ec7a — llvm/include/llvm/Option LibraryOptions.h, llvm/include/llvm/Support CommandLine.h

[Option] Remove XXXOptions::Global. NFC (#242854)

cl::ParseCommandLineOptions rejects library options (#242692), and the C
API parses them into its own cl::LibraryOptionsContext (#242692), so
nothing sets T::Global and it always equals T::Default. Remove it, along
with cl::LibraryOptions::global() and reset().

`LibraryOptionsContext::get(nullptr)` returns T::Default, and
`cl::ResetAllOptionOccurrences` only resets cl:: option values.

LLM-aided
DeltaFile
+12-32llvm/lib/Support/CommandLine.cpp
+9-29llvm/unittests/Option/LibraryOptionsTest.cpp
+4-10llvm/include/llvm/Support/CommandLine.h
+3-8llvm/include/llvm/Option/LibraryOptions.h
+1-5llvm/unittests/Support/CommandLineTest.cpp
+2-4llvm/utils/TableGen/Basic/OptionParserEmitter.cpp
+31-881 files not shown
+33-907 files

NetBSD/pkgsrc hre6kEG — doc TODO CHANGES-2026

   doc: Updated devel/jjui to 0.10.13
VersionDeltaFile
1.28382+1-2doc/TODO
1.8046+2-1doc/CHANGES-2026
+3-32 files

NetBSD/pkgsrc CzGcVBB — devel/jjui Makefile go-modules.mk

   jjui: update to 0.10.13.

   This release is a batch of bug fixes and little improvements.
VersionDeltaFile
1.26+76-76devel/jjui/distinfo
1.17+24-24devel/jjui/go-modules.mk
1.45+3-4devel/jjui/Makefile
+103-1043 files

HardenedBSD/src dc585ef — lib/libsysdecode sysdecode_mask.3

HBSD: Resolve merge conflict

Signed-off-by:  Shawn Webb <shawn.webb at hardenedbsd.org>
DeltaFile
+1-5lib/libsysdecode/sysdecode_mask.3
+1-51 files

LLVM/project 551bf48 — mlir/lib/Bindings/Python IRAttributes.cpp

[mlir][python] Define __index__ on PyIntegerAttribute (#215555)

In nanobind v2.14.0+, integer casting from Python objects to C++ integer
types was updated to require `__index__` (`PyNumber_Index`) instead of
`__int__`.

https://nanobind.readthedocs.io/en/latest/changelog.html#version-2-14-0-aug-7-2026

Because `PyIntegerAttribute` defined `__int__` but not `__index__`,
passing `IntegerAttr` instances to bindings expecting integer sequences
failed. Specifically, in `mlir/test/python/ir/attributes.py`:

# CHECK: input: [IntegerAttr(4 : i64), IntegerAttr(2 : i64)] (<class
'list'>),
    # CHECK-SAME: result: array<i8: 4, 2>
create_and_print(DenseI8ArrayAttr, [Attribute.parse(f"{x}") for x in [4,
2]])

Failed because `DenseI8ArrayAttr.get([IntegerAttr(4 : i64),

    [12 lines not shown]
DeltaFile
+2-0mlir/lib/Bindings/Python/IRAttributes.cpp
+2-01 files

LLVM/project fd53b62 — clang/include/clang/Options Options.td, clang/test/CodeGen coff-default-timestamp.c

[clang] Fix target-dependent default for -mincremental-linker-compatible (#222099)

Patch #188800 modified the target specific default for this flag which
resulted in non MSVC, non UEFI targets getting this flag set. This
caused issue https://github.com/llvm/llvm-project/issues/219457 which
this patch should fix.

Assisted-by: Gemini
(cherry picked from commit 08d064a71dbdfa1b50f352d34c103ad245070611)
DeltaFile
+71-0clang/unittests/Frontend/CompilerInvocationTest.cpp
+29-0clang/test/CodeGen/coff-default-timestamp.c
+27-0clang/test/Misc/cc1as-coff-timestamp.s
+7-8clang/include/clang/Options/Options.td
+10-0clang/test/Driver/incremental-linker-compatible.c
+4-2clang/tools/driver/cc1as_main.cpp
+148-106 files

LLVM/project 929c079 — libcxx/include/__random mersenne_twister_engine.h, libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers seed_sseq.pass.cpp ctor_sseq.pass.cpp

[libc++] Fix std::mt19937 seeding with std::seed_seq under vectorized ABI (#209860)

This PR fixes a bug in `std::mersenne_twister_engine::seed(_Sseq&)`
where the initialization twist is bypassed when the vectorized engine
optimization (`_LIBCPP_ABI_VECTORIZED_MERSENNE_TWISTER_ENGINE`) is
enabled.

In the vectorized implementation introduced in #206423, the engine state
must be pre-twisted during initialization by calling
`__update_all_states()` at the end of the `seed` functions.

However, in `seed(_Sseq& __q)`, the all-zero state check contains an
early `return;` when a non-zero state is verified. This early return
bypasses the trailing `__update_all_states()` call. Consequently, the
generator is initialized with raw, untwisted seed values (tempered)
rather than the standard twisted values.

This only manifests when compiled with unstable ABI settings
(`_LIBCPP_ABI_VERSION >= 2`) which enables the vectorized

    [10 lines not shown]
DeltaFile
+63-63libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
+23-1libcxx/test/std/numerics/rand/rand.eng/rand.eng.mers/seed_sseq.pass.cpp
+5-3libcxx/include/__random/mersenne_twister_engine.h
+91-673 files

LLVM/project 95da439 — llvm/test/CodeGen/AArch64 fptoui-sat-scalar.ll fptosi-sat-scalar.ll

update CHECKs
DeltaFile
+55-49llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
+27-24llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
+26-22llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
+9-7llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
+117-1024 files

LLVM/project afbc638 — llvm/lib/Target/AArch64/GISel AArch64LegalizerInfo.cpp, llvm/test/CodeGen/AArch64 fptoui-sat-scalar.ll fptosi-sat-scalar.ll

[AArch64] fix invalid GISel lowering of saturating `f16` to integer conversion (#235676)

The saturating version of the code seems to be copied from the
non-saturating version, and has this comment

> The range of a fp16 value fits into an i17, so we can lower the width
to i64.

But that is wrong for the saturating conversions, because positive
infinity is mapped to `i128::MAX`.

There may be a way to recover some of the shorter codegen, but I'm
hoping this change is something we can easily backport.

cc https://github.com/rust-lang/rust/issues/164972

(cherry picked from commit 617b7da9db855f1c74e9425555ce23f98f4dc6f9)
DeltaFile
+458-118llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
+276-118llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
+68-8llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
+34-8llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
+2-7llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
+838-2595 files

LLVM/project 66c2aaa — llvm/lib/Transforms/IPO FunctionAttrs.cpp, llvm/test/Transforms/FunctionAttrs arg_returned.ll nocapture.ll

FunctionAttrs: Check all uses when inferring captures for argument SCCs (#231536)

When merging the capture components of an SCC of arguments, only the
first use of each argument was considered, because of a misplaced break.
If an argument was passed to another argument in the SCC first and to a
capturing argument outside of it later, it was incorrectly inferred to
not be captured.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
(cherry picked from commit 05b3eeffba9f93d14a9f79af253c4769d8c01827)
DeltaFile
+48-0llvm/test/Transforms/FunctionAttrs/nocapture.ll
+2-2llvm/test/Transforms/FunctionAttrs/arg_returned.ll
+0-1llvm/lib/Transforms/IPO/FunctionAttrs.cpp
+50-33 files

HardenedBSD/src 6bd7f1d — crypto/openssh ChangeLog ed25519.c, sys/contrib/openzfs/cmd/zpool zpool_main.c

Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge

Conflicts:
        lib/libsysdecode/sysdecode_mask.3 (unresolved)
DeltaFile
+4,598-1,983crypto/openssh/ed25519.c
+0-5,021sys/crypto/openssl/aarch64/vpsm4-armv8.S
+0-4,543sys/crypto/openssl/aarch64/vpsm4_ex-armv8.S
+1,973-1,163crypto/openssh/ChangeLog
+1,043-1,051sys/contrib/openzfs/cmd/zpool/zpool_main.c
+1,948-66sys/contrib/openzfs/lib/libnvpair/libnvpair.abi
+9,562-13,8271,738 files not shown
+88,516-46,2371,744 files

LLVM/project 02bb1ee — clang-tools-extra/clangd CodeComplete.cpp, clang-tools-extra/clangd/index SymbolCollector.cpp

[clangd] Index symbols declared inside export declarations (#234755)

SymbolCollector::shouldCollectSymbol only accepts symbols whose semantic
parent is a translation unit, namespace, linkage spec, enum, record or
one of a few ObjC containers. ExportDecl is a DeclContext and is
returned by getDeclContext(), so every entity declared with `export` or
inside an `export { ... }` block was dropped from the index. Members of
exported classes were still indexed, since their parent is the record.

In C++20 modules code this hides most of the exported interface from the
index: Go to Definition on an exported function stops at the declaration
in the module interface instead of reaching the definition in the
implementation unit, and workspace/symbol does not find it. Rename uses
the same check, so it rejects exported symbols as "not eligible for
indexing" (reported in clangd/clangd#2569).

Use getNonTransparentDeclContext() instead, so declarations inside
transparent contexts (export, extern "C", unscoped enums) are judged by
their enclosing context. Do the same in isIndexedForCodeCompletion, so

    [7 lines not shown]
DeltaFile
+73-0clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
+40-0clang-tools-extra/clangd/unittests/RenameTests.cpp
+18-0clang/test/Index/USR/export.cpp
+3-4clang-tools-extra/clangd/index/SymbolCollector.cpp
+1-2clang-tools-extra/clangd/CodeComplete.cpp
+1-1clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
+136-76 files

LLVM/project 2e7a095 — clang/docs ReleaseNotes.md, clang/lib/CodeGen MicrosoftCXXABI.cpp

release/23.x: [clang codegen] Fix MS ABI with deleted template constructor (#237634)

Manaul backport of 2abfa104dc091113f844d252b4df2a22e800e4b8. (The code
change is the same, the generated IR for the testcase changed slightly.)
DeltaFile
+7-6clang/lib/CodeGen/MicrosoftCXXABI.cpp
+13-0clang/test/CodeGen/arm64-microsoft-arguments.cpp
+5-0clang/docs/ReleaseNotes.md
+25-63 files

LLVM/project 6a1cd33 — llvm/lib/Target/X86 X86CallingConv.td X86RegisterInfo.cpp, llvm/test/CodeGen/X86/apx intr-egpr-csr-call.ll intr-egpr-csr.ll

[X86][APX] Save R16-R31 in interrupt and no_caller_saved_registers functions (#237109)

x86_intrcc, "no_caller_saved_registers" and anyregcc functions must
preserve every register they modify. With EGPR their save lists
(CSR_64_AllRegs*) did not include R16-R31, so a handler that uses, or
calls something that clobbers, an extended GPR silently corrupts the
interrupted context. For example, a handler reading its interrupt frame
loads it into r16/r17 and returns with iretq without restoring them.

Add CSR_64_APX_AllRegs{,_NoSSE,_AVX,_AVX512}, the AllRegs lists plus
R16-R31, and use them as the save lists when the subtarget has EGPR. The
call-preserved masks are unchanged, so callers keep treating R16-R31 as
clobbered. This stays correct for callees built without EGPR or by other
or older compilers.

Assisted-by: Claude Opus 5.5 <noreply at anthropic.com>
(cherry picked from commit 6a30204d78bd45b56611bbd09cf8c53b78b7435d)
DeltaFile
+227-0llvm/test/CodeGen/X86/apx/intr-egpr-csr.ll
+127-0llvm/test/CodeGen/X86/apx/intr-egpr-csr-call.ll
+14-6llvm/lib/Target/X86/X86RegisterInfo.cpp
+14-0llvm/lib/Target/X86/X86CallingConv.td
+382-64 files

LLVM/project 54dc6b0 — llvm/lib/Transforms/Utils LoopSimplify.cpp, llvm/test/Transforms/LoopSimplify unreachable-loop-pred.ll

[LoopSimplify] Use SmallSetVector for dead predecessor removal (#231155)

In `simplifyOneLoop`, `BadPreds` was previously declared as
`SmallPtrSet<BasicBlock*, 4>`. When a non-header loop block had 5 or
more unreachable out-of-loop predecessors, `SmallPtrSet` overflowed its
inline small array and iterated over `BasicBlock*` pointers in hash
order under ASLR. Because `PHINode::removeIncomingValue` swaps each
removed predecessor slot with the last `PHINode` operand, removing dead
predecessors in pointer-hash order permuted the remaining live incoming
blocks in the `PHINode` and produced non-deterministic IR and ThinLTO
bitcode.

Replace `SmallPtrSet<BasicBlock*, 4>` with `SmallSetVector<BasicBlock *,
4>` to deduplicate and remove dead predecessors in deterministic
`predecessors(BB)` order.

Fixes #231143

(cherry picked from commit 921c2c0b929eb05dd8560c6bead0b1e5345e35ca)
DeltaFile
+57-1llvm/test/Transforms/LoopSimplify/unreachable-loop-pred.ll
+1-1llvm/lib/Transforms/Utils/LoopSimplify.cpp
+58-22 files

LLVM/project 31dea7a — clang-tools-extra/clang-tidy/readability TrailingCommaCheck.cpp, clang-tools-extra/test/clang-tidy/checkers/readability trailing-comma-cxx11.cpp

[clang-tidy] Fix false positive in readability-trailing-comma (#220548)

Use the syntactic form of an empty InitListExpr instead of falling back
to the semantic form.

Fixes #220222

(cherry picked from commit 0abb55638843428fccd7a923e6126fcb74a69a51)
DeltaFile
+10-0clang-tools-extra/test/clang-tidy/checkers/readability/trailing-comma-cxx11.cpp
+4-2clang-tools-extra/clang-tidy/readability/TrailingCommaCheck.cpp
+14-22 files