OpenZFS/src ca24d0atests/unit test_zap.c

unit/zap: add MT_MATCH_CASE mixed-case test

New case-normalization test to cover the exact-case path. On a TOUPPER
ZAP, MT_NORMALIZE | MT_MATCH_CASE matches only the stored casing, while
an MT_NORMALIZE lookup matches any case.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rob Norris <rob.norris at truenas.com>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18638
DeltaFile
+42-0tests/unit/test_zap.c
+42-01 files

LLVM/project 8a531c3libcxx/include text_encoding, libcxx/src/support/win32 locale_win32.cpp

[libc++] Implement P1885R12: `<text_encoding>` (#141312)

Resolves #105373, resolves #118371 and resolves #105332

- Implements `<text_encoding>`
- Adds availability macros for LLVM 23.
- The data is stored in three tables:
  - One giant string split by null-terminators to represent the aliases
- An index table which stores indexes into the string, each entry
representing the first character of an alias
- Text encoding data, which stores an index to the index table, the MIB,
and the number of aliases the encoding has.

Storing it in the above manner allows us to make significant savings in
binary file size and required runtime storage for the data.

As required by the LLVM Project's AI use policy:
- The implementation for `__get_locale_encoding(const char*)` for
Windows has been developed with the assistance of AI.

    [3 lines not shown]
DeltaFile
+1,171-0libcxx/test/std/text/text_encoding/test_text_encoding.h
+835-0libcxx/include/text_encoding
+281-0libcxx/test/std/text/text_encoding/text_encoding.members/id.compile.pass.cpp
+260-0libcxx/src/support/win32/locale_win32.cpp
+156-0libcxx/test/std/text/text_encoding/text_encoding.members/text_encoding.aliases_view/iterator.pass.cpp
+79-0libcxx/test/std/text/text_encoding/text_encoding.members/environment.pass.cpp
+2,782-068 files not shown
+4,447-3874 files

LLVM/project c424935clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat JSONFormatImpl.cpp, clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat JSONFormatImpl.cpp

[clang][ssaf] Shorten directory name to ScalableStaticAnalysis (#204697)

The directory name ScalableStaticAnalysisFramework produces build paths
that exceed Windows' MAX_PATH limit (260 chars) on downstream CI bots.

The clang-ssaf-format / clang-ssaf-linker tool names and SSAF-prefixed
source filenames are unchanged.

Assisted-By: Claude Opus 4.7

---------

Co-authored-by: Aviral Goel <goel.aviral at gmail.com>
Co-authored-by: Aviral Goel <aviralg at users.noreply.github.com>
DeltaFile
+0-1,443clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+1,443-0clang/unittests/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowTest.cpp
+1,380-0clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
+0-1,380clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
+783-0clang/unittests/ScalableStaticAnalysis/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+0-783clang/unittests/ScalableStaticAnalysisFramework/Analyses/UnsafeBufferUsage/UnsafeBufferUsageTest.cpp
+3,606-3,606347 files not shown
+22,495-22,498353 files

LLVM/project b266361compiler-rt/lib/instrumentor-tools instrumentor_runtime.h, compiler-rt/lib/instrumentor-tools/flop-counter flop_counter_runtime.cpp README.md

Revert "[Instrumentor] Add runtime examples: [1/N] A flop counter (#205221)" (#205696)
DeltaFile
+0-293compiler-rt/lib/instrumentor-tools/instrumentor_runtime.h
+0-164compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_runtime.cpp
+0-77compiler-rt/lib/instrumentor-tools/flop-counter/README.md
+0-75compiler-rt/test/instrumentor-tools/lit.cfg.py
+0-74compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
+0-54compiler-rt/test/instrumentor-tools/CMakeLists.txt
+0-73710 files not shown
+1-94816 files

LLVM/project 3105315clang/lib/UnifiedSymbolResolution USRGeneration.cpp, clang/unittests/Index IndexTests.cpp

address comments
DeltaFile
+9-8clang/unittests/Index/IndexTests.cpp
+11-5clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
+20-132 files

LLVM/project 0b24f16clang/include/clang/Options Options.td, clang/lib/CodeGen BackendUtil.cpp

fix

Created using spr 1.3.7
DeltaFile
+41-56clang/lib/CodeGen/BackendUtil.cpp
+1-2clang/include/clang/Options/Options.td
+42-582 files

LLVM/project ac20606clang/lib/UnifiedSymbolResolution USRGeneration.cpp

address comments
DeltaFile
+1-1clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
+1-11 files

LLVM/project c6a17f1compiler-rt/lib/instrumentor-tools/flop-counter CMakeLists.txt

[Instrumentor][FIX] Ensure CXX headers are available (#205693)

Try to address failure in #205221, which results in <atomic> not found.
This is CMake code copied from other compiler-rt projects using
<atomic>.
DeltaFile
+7-0compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
+7-01 files

LLVM/project 8e20284clang/lib/UnifiedSymbolResolution USRGeneration.cpp, clang/unittests/Index IndexTests.cpp

address comments
DeltaFile
+64-14clang/unittests/Index/IndexTests.cpp
+7-7clang/lib/UnifiedSymbolResolution/USRGeneration.cpp
+71-212 files

LLVM/project 86ecfffclang/include/clang/AST DeclBase.h, clang/lib/Sema SemaDeclCXX.cpp

[Clang] Don't suppress vtable emission for classes with -fmodules-debuginfo (#204662)

847f9cb0e868 made `Sema::DefineUsedVTables` skip
`Consumer.HandleVTable()` when `Class->shouldEmitInExternalSource()` is
true. This works for named C++20 modules as they have an object file,
but does not hold for -fmodules-debuginfo / -fpch-debuginfo.

This patch additionally gates that on `Class->isInNamedModule()`. This
is the same pattern used by the rest of codegen for this situation.

Needing to check this everywhere is a bit unfortunate. It would be good
to eventually refactor this class of checks to have clearer semantics
around named modules, debug info, and -fmodules-codgen.

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

Assisted-by: Claude Code: opus-4-8
DeltaFile
+28-0clang/test/PCH/pch-debuginfo-vtable.cpp
+6-1clang/lib/Sema/SemaDeclCXX.cpp
+4-0clang/include/clang/AST/DeclBase.h
+38-13 files

LLVM/project 66ed5f9lldb/include/lldb/Target Language.h, lldb/source/Breakpoint BreakpointResolverName.cpp

[lldb][NFC] Remove ConstString from Language::MethodNameVariant (#205688)

Language::MethodNameVariant is for when a given method name may have
several language-defined variants. For example, we may see an
objective-C method name with a category that should be searchable via
the name without the category.

The ObjCLanguage plugin computes these names without checking that they
are actually useful or even exist. Because these variant names are
stored in ConstString, they will live forever even if they are never
used.
DeltaFile
+8-8lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
+6-6lldb/include/lldb/Target/Language.h
+4-4lldb/source/Symbol/Symtab.cpp
+1-1lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
+1-1lldb/source/Breakpoint/BreakpointResolverName.cpp
+20-205 files

LLVM/project 51312e9clang/include/clang/AST OpenMPClause.h, clang/lib/AST OpenMPClause.cpp

[OpenMP][Clang] Fix parsing of num_teams lower-bound modifier
DeltaFile
+46-35clang/lib/Sema/SemaOpenMP.cpp
+12-44clang/lib/Parse/ParseOpenMP.cpp
+41-2clang/include/clang/AST/OpenMPClause.h
+15-15clang/lib/AST/OpenMPClause.cpp
+17-11clang/test/OpenMP/teams_num_teams_messages.cpp
+16-7clang/lib/Sema/TreeTransform.h
+147-11412 files not shown
+204-13018 files

LLVM/project 518040aclang/lib/Driver ToolChain.cpp, clang/test/Driver print-multi-selection-flags.c

[RISCV][clang] Use fcf-protection flag in Multilib Selection (#205202)

This ensures that we can separate out multilibs that are or are not
built with control flow protection enabled.

The initial version of the patch claims all values of these flags are
incompatible. It might be the case that we could make this logic more
complex if some versions do become compatible.
DeltaFile
+13-0clang/test/Driver/print-multi-selection-flags.c
+12-0clang/lib/Driver/ToolChain.cpp
+25-02 files

LLVM/project 0e46814compiler-rt/lib/instrumentor-tools/flop-counter CMakeLists.txt

[Instrumentor][FIX] Ensure CXX headers are available
DeltaFile
+7-0compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
+7-01 files

LLVM/project ea36234clang/test/AST ast-dump-openmp-teams-distribute-parallel-for-simd.c ast-dump-openmp-teams-distribute-parallel-for.c, clang/test/OpenMP target_teams_distribute_simd_codegen.cpp target_parallel_for_simd_codegen.cpp

Merge branch 'main' into users/kparzysz/c01-clause-check
DeltaFile
+1,701-810llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
+0-2,193clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for-simd.c
+0-2,193clang/test/AST/ast-dump-openmp-teams-distribute-parallel-for.c
+1,076-934clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
+1,070-932clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
+0-1,970clang/test/AST/ast-dump-openmp-target-teams-distribute-parallel-for-simd.c
+3,847-9,032389 files not shown
+16,465-28,209395 files

OpenZFS/src f16b374cmd/zstream zstream_dump.c zstream_recompress.c

zstream: refactor common functions

### Motivation

In the current version of `zstream`, each subcommand is independent and
is responsible for implementing its own stream-processing pipeline. It
started as a stream dumper, but as additional subcommands were added,
contributors typically copied an existing subcommand's pipeline and
adapted it for different purposes.

This pattern has led to quite a bit of duplicated code and has also led
to some functional nonuniformities. For example, some subcommands
support opposite-endian streams and others don't.

### Overview

This PR segregates functions that most subcommands need into
free-standing modules and reimplements the existing subcommands in
terms of those modules. The current modules are:

    [100 lines not shown]
DeltaFile
+416-656cmd/zstream/zstream_dump.c
+222-288cmd/zstream/zstream_recompress.c
+151-312cmd/zstream/zstream_redup.c
+462-0cmd/zstream/zstream_io.c
+127-265cmd/zstream/zstream_decompress.c
+93-232cmd/zstream/zstream_drop_record.c
+1,471-1,75386 files not shown
+4,941-2,08792 files

LLVM/project b576ec6compiler-rt/lib/instrumentor-tools instrumentor_runtime.h, compiler-rt/lib/instrumentor-tools/flop-counter flop_counter_runtime.cpp README.md

[Instrumentor] Add runtime examples: [1/N] A flop counter (#205221)

This adds a instrumentor-tools folder into compiler RT to showcase
use cases of the instrumentor. The initial example is a program that,
via instrumentation, counts the number of flops performed. Call and
 intrinsic support will follow after #198042.

Partially developed by Claude (AI), tested and verified by me.
DeltaFile
+293-0compiler-rt/lib/instrumentor-tools/instrumentor_runtime.h
+164-0compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_runtime.cpp
+77-0compiler-rt/lib/instrumentor-tools/flop-counter/README.md
+75-0compiler-rt/test/instrumentor-tools/lit.cfg.py
+67-0compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
+54-0compiler-rt/test/instrumentor-tools/CMakeLists.txt
+730-010 files not shown
+941-116 files

OpenZFS/src e3082b9module/os/freebsd/zfs zfs_vfsops.c

freebsd: set mnt_time on the rootfs at mountroot time

FreeBSD's vfs_mountroot() will collect `mnt_time` from every filesystem
that we mounted and use the highest timestamp as a source for the system
time if we didn't get anything from an attached RTC.

Use the rrd mechanism added to gather up a notion of the latest time
and set it on mnt_time.  If the timestamp db is empty, we just fallback
to the uberblock timestamp and hope that that is in the right ballpark.

Relevant: FreeBSD PR254058[0] reporting the problem downstream

[0] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254058

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Longros <chris.longros at gmail.com>
Signed-off-by: Kyle Evans <kevans at FreeBSD.org>
Closes #18645
DeltaFile
+7-1module/os/freebsd/zfs/zfs_vfsops.c
+7-11 files

OpenZFS/src ee13f5ainclude zfs_crrd.h, module/zfs zfs_crrd.c

Add dbrrd_latest_time() to grab the latest timestamp in the db

Returns 0 if the database is empty, otherwise it returns the highest
value of the minutely db.  dbrrd_add() will already enforce the property
that these are monotonically increasing, so we won't try to second-guess
it.

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Longros <chris.longros at gmail.com>
Signed-off-by: Kyle Evans <kevans at FreeBSD.org>
Closes #18645
DeltaFile
+16-0module/zfs/zfs_crrd.c
+1-0include/zfs_crrd.h
+17-02 files

OpenZFS/src 21fb393include zfs_crrd.h, module/zfs zfs_crrd.c

Constify some rrd_*() functions

These don't modify the db, so just constify them while we're in the
area.

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Longros <chris.longros at gmail.com>
Signed-off-by: Kyle Evans <kevans at FreeBSD.org>
Closes #18645
DeltaFile
+3-3include/zfs_crrd.h
+3-3module/zfs/zfs_crrd.c
+6-62 files

OpenZFS/src 41311c6module/zfs vdev_raidz.c

RAIDZ: Optimize single data column writes

When a row contains only a single data column (one ashift-sized
block or 2-wide RAIDZ), P = Q = R = data mathematically.  In this
case point all parity column ABDs at the data column ABD, skipping
both buffer allocation and parity generation.

It might be not very efficient to write so small blocks on RAIDZ,
but it is allowed and does happen.  Skipping this allocation and
memory copy saves several percents of CPU time.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Rob Norris <rob.norris at truenas.com>
Signed-off-by: Alexander Motin <alexander.motin at TrueNAS.com>
Closes #18695
DeltaFile
+33-1module/zfs/vdev_raidz.c
+33-11 files

LLVM/project 6cc609bllvm/lib/Target/Xtensa XtensaInstrInfo.td XtensaISelLowering.cpp, llvm/test/CodeGen/Xtensa trap.ll

[Xtensa] Fix trap/debugtrap operations lowering. (#200872)

Fix debug operation lowering for Xtensa.

Co-authored-by: Andrei Safronov <safronov at espressif.com>
DeltaFile
+136-0llvm/test/CodeGen/Xtensa/trap.ll
+22-2llvm/lib/Target/Xtensa/XtensaInstrInfo.td
+2-0llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
+1-0llvm/lib/Target/Xtensa/XtensaSubtarget.h
+161-24 files

NetBSD/pkgsrc 1m3TVPQdoc pkgsrc.html pkgsrc.txt

   doc/pkgsrc.*: regen
VersionDeltaFile
1.395+7-7doc/pkgsrc.html
1.393+5-5doc/pkgsrc.txt
+12-122 files

NetBSD/pkgsrc eMpaqFIdoc/guide distinfo Makefile

   docs/guide: Update htdocs-share to 20260625 for 2026Q2
VersionDeltaFile
1.40+4-4doc/guide/distinfo
1.79+2-2doc/guide/Makefile
+6-62 files

LLVM/project 1c83076compiler-rt/lib/instrumentor-tools instrumentor_runtime.h, compiler-rt/lib/instrumentor-tools/flop-counter flop_counter_runtime.cpp README.md

[Instrumentor] Add runtime examples: [1/N] A flop counter

This adds a instrumentor-tools folder into compiler RT to showcase
use cases of the instrumentor. The initial example is a program that,
via instrumentation, counts the number of flops performed. Call and
intrinsic support will follow after #198042.

Partially developped by Claude (AI), tested and verified by me.
DeltaFile
+293-0compiler-rt/lib/instrumentor-tools/instrumentor_runtime.h
+164-0compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_runtime.cpp
+77-0compiler-rt/lib/instrumentor-tools/flop-counter/README.md
+75-0compiler-rt/test/instrumentor-tools/lit.cfg.py
+67-0compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
+54-0compiler-rt/test/instrumentor-tools/CMakeLists.txt
+730-010 files not shown
+941-116 files

FreeBSD/src 3377f38sys/kern subr_uio.c

uiomove_fault(): initialize save with ~0 when no flags are cleared

Reported by:    markj
Fixes:  4c4195700249 ("sys: use curthread_pflags_set/restore to manage TDP_DEADLKTREAT for uio")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+1-1sys/kern/subr_uio.c
+1-11 files

LLVM/project f820ecellvm/test/CodeGen/AMDGPU rewrite-vgpr-mfma-to-agpr-spill-joint-dom.ll rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir

Removed extra space from flat-wg-size.
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom.ll
+1-1llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir
+2-22 files

LLVM/project 817bf6dllvm/lib/Target/AMDGPU AMDGPURewriteAGPRCopyMFMA.cpp

Added braces to conform to AMDGPU coding style.
DeltaFile
+2-1llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
+2-11 files

LLVM/project 6911a98llvm/test/CodeGen/AMDGPU rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir

Dropped IR section instructions, removed IR references.
DeltaFile
+4-9llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir
+4-91 files

LLVM/project d48ef10llvm/test/CodeGen/AMDGPU rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir rewrite-vgpr-mfma-to-agpr-spill-implicit-def-mir.mir

Name cleanups.
DeltaFile
+1,775-0llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom-mir.mir
+0-1,775llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-implicit-def-mir.mir
+0-159llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-implicit-def.ll
+159-0llvm/test/CodeGen/AMDGPU/rewrite-vgpr-mfma-to-agpr-spill-joint-dom.ll
+1,934-1,9344 files