LLVM/project df538d6llvm/test/CodeGen/X86 vector-reduce-or-cmp.ll

[X86] vector-reduce-or-cmp.ll - update mask_v3i1 IR to match middleend (#213923)

InstCombine converts vXi1 logic reductions to bitcasted scalar integer
ops - we should be testing that, not llvm.vector.reduce.or.v3i1 calls

Exposes some really poor scalarization on pre-AVX512 targets
DeltaFile
+211-93llvm/test/CodeGen/X86/vector-reduce-or-cmp.ll
+211-931 files

LLVM/project c2ae930libcxx/test/benchmarks/containers/associative associative_container_benchmarks.h

[libc++] Trim down associative container benchmark sizes (#212252)

Based on local measurements, the associative containers are by far the
slowest benchmarks to run. While there is value in benchmarking small
and large sizes, we can significantly cut down benchmark times by
stripping down to only 2 sizes (from 4).

With this patch, the benchmarks go from 3124s to 1766s across the
associative container benchmarks, which is -43% of their execution time,
and corresponds to ~15% of the entire benchmark suite.

Towards #173032
DeltaFile
+13-10libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
+13-101 files

LLVM/project df38ae1libcxx/test/libcxx clang_tidy.sh.py

[libc++] Fix the clang-tidy source filter to cover libcxx/src again (#213732)

The filter regex used `libcxx(abi?)`, which matches `libcxxab` and
`libcxxabi`, but never just `libcxx`.
DeltaFile
+2-2libcxx/test/libcxx/clang_tidy.sh.py
+2-21 files

LLVM/project ea14fa2libcxx/test/libcxx-03 module_std.gen.py module_std_compat.gen.py

[libc++] Remove C++20 modules tests from the C++03 frozen test suite (#213730)

These tests are never executed since they require C++20, and the C++03
frozen headers only run in C++03 mode.
DeltaFile
+0-42libcxx/test/libcxx-03/module_std_compat.gen.py
+0-38libcxx/test/libcxx-03/module_std.gen.py
+0-802 files

FreeNAS/freenas 03847cdtests/unit test_directoryservices_util_cache.py

Make ruff happy
DeltaFile
+35-35tests/unit/test_directoryservices_util_cache.py
+35-351 files

LLVM/project 00bdfbfmlir/lib/Dialect/Tensor/IR TensorOps.cpp, mlir/test/Dialect/Tensor canonicalize.mlir

[mlir][tensor] Preserve source encoding when folding insert_slice canonicalizers (#207239)

`InsertSliceOpConstantArgumentFolder` re-derives the refined source type
via `ExtractSliceOp::inferCanonicalRankReducedResultType`, which copies
the encoding of the passed-in "source template" - in this pattern,
`insertSliceOp.getDestType()`.
For a static, encoding-less destination this silently drops any encoding
the actual source carried, which downstream dialects can use for
mandatory metadata (upper bounds, layout, sparsity descriptors) lost
during `--canonicalize`.

Rebuild the refined source type carrying the original source's encoding.
If the encoding implements `VerifiableTensorEncoding`, re-verify it
against the refined shape and drop it if it no longer holds (e.g. a
rank-dependent sparse encoding); otherwise treat it as
opaque/shape-agnostic and propagate it unconditionally.
Shape refinement (the `?` -> static direction) is unchanged and still
satisfies `preservesStaticInformation`.


    [2 lines not shown]
DeltaFile
+74-0mlir/test/Dialect/Tensor/canonicalize.mlir
+14-2mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+88-22 files

OpenBSD/src tTwxbv5sbin/slaacd engine.c

   Remove \n from log messages.

   OK florian@
VersionDeltaFile
1.104+3-3sbin/slaacd/engine.c
+3-31 files

OpenBSD/src 4KDDteisbin/unwind control.c resolver.c

   Adjust type of 'n' to int since imsgbuf_get now returns int and so
   does imsgbuf_read where 'n' is used as well.

   OK florian@
VersionDeltaFile
1.79+4-6sbin/unwind/unwind.c
1.177+3-5sbin/unwind/resolver.c
1.25+2-3sbin/unwind/control.c
+9-143 files

OpenBSD/ports SPuw3P2comms/rtl-sdr Makefile, comms/rtl-sdr/patches patch-src_rtl_tcp_c

   allow chaning frequencies in rtl_tcp without locking up clients

   patch from SASANO Takayoshi uaa AT mx5 nisiq net
VersionDeltaFile
1.1+127-0comms/rtl-sdr/patches/patch-src_rtl_tcp_c
1.13+1-0comms/rtl-sdr/Makefile
+128-02 files

LLVM/project 37f4eee.github/workflows/upload-release-artifact action.yml

workflows/upload-release-artifact: Use new self-repository reference (#213366)

This is for composite actions.


https://github.blog/changelog/2026-07-30-reference-same-repository-actions-with-self-repository-syntax/
DeltaFile
+2-2.github/workflows/upload-release-artifact/action.yml
+2-21 files

LLVM/project b48bca9lld/ELF Relocations.cpp SyntheticSections.cpp, lld/ELF/Arch AArch64.cpp

[PAC][lld] Do not emit AUTH relocs against undef weak non-preemptible symbols

Undefined weak non-preemptible symbols should be statically resolved
and not signed.

See the corresponding relaxation described in docs:
https://github.com/ARM-software/abi-aa/blob/6e0d6611ac977628af7b2444ff841e76931a3557/design-documents/pauthabi-tls.rst

Previously, a dynamic relocation against such symbols was emitted,
which is not a correct behavior.

See also: https://github.com/ARM-software/abi-aa/pull/391

Depends on: #198327

Resolves #173296
DeltaFile
+79-9lld/ELF/Arch/AArch64.cpp
+48-0lld/test/ELF/aarch64-reloc-pauth-undef-weak-dso.s
+48-0lld/test/ELF/aarch64-reloc-pauth-undef-weak.s
+47-0lld/test/ELF/aarch64-reloc-pauth-undef-weak-pie.s
+15-5lld/ELF/SyntheticSections.cpp
+13-6lld/ELF/Relocations.cpp
+250-202 files not shown
+259-218 files

LLVM/project 3b4fb49lld/ELF/Arch AArch64.cpp, lld/test/ELF aarch64-reloc-pauth-undef-weak.s aarch64-reloc-pauth-undef-weak-pie.s

`.tlsdescauthcall` -> `.tlsauthdesccall` (per documentation)
DeltaFile
+5-5lld/test/ELF/aarch64-tlsdesc-pauth.s
+1-1lld/test/ELF/aarch64-reloc-pauth-undef-weak.s
+1-1lld/test/ELF/aarch64-reloc-pauth-undef-weak-pie.s
+1-1lld/test/ELF/aarch64-reloc-pauth-undef-weak-dso.s
+1-1lld/ELF/Arch/AArch64.cpp
+9-95 files

LLVM/project 12ba815llvm/lib/Target/AArch64 AArch64InstrInfo.td AArch64AsmPrinter.cpp, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

[PAC][ELF] Support R_AARCH64_AUTH_TLSDESC_CALL relocation

The R_AARCH64_AUTH_TLSDESC_CALL is introduced to allow linker relaxation of
AUTH TLSDESC call sequences for non-preemptible undefined weak symbols.

The lld patch introducing the relaxation: #194636

Corresponding ARM docs PR: https://github.com/ARM-software/abi-aa/pull/395
DeltaFile
+11-6llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+10-5llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
+12-3llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+9-0llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
+8-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+3-0llvm/test/MC/AArch64/directives-case_insensitive.s
+53-146 files

LLVM/project fdc4d8allvm/test/MC/AArch64 tls-auth-relocs.s

Address review comments
DeltaFile
+2-2llvm/test/MC/AArch64/tls-auth-relocs.s
+2-21 files

LLVM/project a26ebc0llvm/lib/Target/AArch64 AArch64InstrInfo.td AArch64AsmPrinter.cpp, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

`.tlsdescauthcall` -> `.tlsauthdesccall` (per documentation)
DeltaFile
+5-5llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
+5-5llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+3-3llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+2-2llvm/test/MC/AArch64/tls-auth-relocs.s
+2-2llvm/test/MC/AArch64/directives-case_insensitive.s
+2-2llvm/lib/Target/AArch64/AArch64InstrInfo.td
+19-191 files not shown
+20-207 files

LLVM/project 4bae498llvm/test/MC/AArch64 tls-auth-relocs.s

Address review comments
DeltaFile
+36-0llvm/test/MC/AArch64/tls-auth-relocs.s
+36-01 files

LLVM/project fa0232allvm/lib/Target/RISCV RISCVISelDAGToDAG.cpp RISCVRegisterInfo.cpp, llvm/test/CodeGen/RISCV xqcilo-xqcilia-frame-index.ll

[RISCV] Reduce spill/reload pairs when Xqcilo extension is enabled (#212807)

[RISCV] Reduce spill/reload pairs when Xqcilo extension is enabled

Currently, `SelectAddrRegImm26` calls `SelectAddrFrameIndex` first,
causing bare frame-index loads (offset 0) to select 48-bit loads/stores at
ISel. Due to `AddedComplexity=2` on the QC48LdPat patterns, the wide
opcode won over the standard LW/SW even though the resolved frame offset
typically fits simm12.

This led to more spills and reloads in functions which are under high
register pressure because 48-bit loads and stores are not marked easily
rematerializable. Also, simply adding 48-bit loads and stores to
`isLoadFromStackSlot/isStoreToStackSlot` doesn't solve the regression
for the multi call case and only by making Isel produce the plain
32/64-bit loads and store opcodes as the baseline does RA behave
identically.

Therefor this PR fixes the issue by:

    [17 lines not shown]
DeltaFile
+102-0llvm/test/CodeGen/RISCV/xqcilo-xqcilia-frame-index.ll
+37-1llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+0-4llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
+139-53 files

LLVM/project 2629bf9llvm/lib/Target/X86 X86WinEHUnwindV3.cpp, llvm/test/CodeGen/X86 win64-eh-unwindv3-egpr-funclet.ll win64-eh-unwindv3-egpr-per-function.ll

[X86][APX] Fix per-function V3 unwind for EGPR functions on Windows x64 (#212924)

A function that saves a callee-saved EGPR (R16-R31) cannot be encoded with V1/V2 unwind info, so it must use V3 even when the module default stays on V1/V2 (e.g. an APX clone created by auto-dispatch alongside a baseline generic clone). The previous code rejected such functions with a recoverable backend diagnostic ("EGPR (R16-R31) requires V3 unwind info on Windows x64") instead of emitting valid V3 unwind info.

Introduce a single shared predicate, requiresWinX64UnwindV3(MF), that returns true when the whole module is in V3 mode, or when the function needs an unwind table and may use EGPR. It is consumed by X86FrameLowering (SEH prolog/epilog layout), the X86WinEHUnwindV2 pass (which skips such functions), and the X86WinEHUnwindV3 pass (which stamps a per-function .seh_unwindversion 3 on every WinEH frame -- the entry block and each funclet). Also widen the SEH_UnwindVersion pseudo operand from i1imm to i8imm since it holds 1, 2 or 3.

(cherry picked from commit 9466be2c87689a07c9a171f24cb5c9b0c2f0cda8)
DeltaFile
+53-0llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-version-switch-v1.ll
+30-21llvm/lib/Target/X86/X86WinEHUnwindV3.cpp
+47-0llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-version-switch.ll
+39-0llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-v2-module.ll
+32-0llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-per-function.ll
+31-0llvm/test/CodeGen/X86/win64-eh-unwindv3-egpr-funclet.ll
+232-216 files not shown
+284-4712 files

LLVM/project 8ae884cllvm/lib/Target/ARM ARMInstrMVE.td, llvm/test/CodeGen/Thumb2 vqneg.ll vqabs.ll

[ARM][MVE] Match canonical saturating negation patterns (#213085)

InstCombine pull request
https://github.com/llvm/llvm-project/pull/194519 canonicalized the
saturating negation idiom to
an llvm.ssub.sat operation. For the ARM backend we only recognized the
original
select and subtract pattern, causing vector absolute values to expand to
VQSUB
plus a compare and select instead of VQABS.

In this patch we teach the VQABS and VQNEG patterns to recognize this
ssub.sat
form.

(cherry picked from commit c99e6752b9f9e1867af88c07ee44f837bc6e4311)
DeltaFile
+3-12llvm/test/CodeGen/Thumb2/vqabs.ll
+3-6llvm/test/CodeGen/Thumb2/vqneg.ll
+9-0llvm/lib/Target/ARM/ARMInstrMVE.td
+15-183 files

Dreckly/dreckly 33de3e2x11/xorgproto builtin.mk

xorgproto: Sync builtin.mk with newer versions.

This hardcoded list is horrible.
DeltaFile
+2-1x11/xorgproto/builtin.mk
+2-11 files

LLVM/project 1e94aa5libcxx/include fstream, libcxx/src ios.instantiations.cpp

release/23.x: [libc++] Fix ungetc failing after xsgetn (#210951)

Backport 455ef3684fae3273b3423bb0229e33584745c6cc and 76140a666d18b940597bf73362d4101af0247ea6
DeltaFile
+159-0libcxx/test/extensions/libcxx/input.output/file.streams/fstreams/filebuf.members/xsgetn.buffer.pass.cpp
+50-23libcxx/include/fstream
+21-0libcxx/src/ios.instantiations.cpp
+14-0libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/xsgetn.pass.cpp
+1-0libcxx/test/extensions/libcxx/input.output/file.streams/fstreams/filebuf.members/test.dat
+245-235 files

LLVM/project c4ace92clang/lib/Driver/ToolChains NetBSD.h NetBSD.cpp, clang/test/Driver netbsd.cpp

[clang][Driver] Fix libc++ include path on NetBSD (#212716)

`clang++` defaults to `-stdlib=libc++` on NetBSD. When building with
both `clang` and `libcxx` included, the freshly built `clang++` fails to
find `<__config_site>`:

```
In file included from /usr/include/strings.h:68:
In file included from bin/../include/c++/v1/string.h:57:
bin/../include/c++/v1/__config:13:10: fatal
error: '__config_site' file not found
   13 | #include <__config_site>
      |          ^~~~~~~~~~~~~~~
```

The file is present in `include/<triplet>/c++/v1`, but that isn't
searched by default. NetBSD has its own version of addLibCxxIncludePaths
which misses that directory.


    [12 lines not shown]
DeltaFile
+0-21clang/lib/Driver/ToolChains/NetBSD.cpp
+8-0clang/test/Driver/netbsd.cpp
+0-3clang/lib/Driver/ToolChains/NetBSD.h
+0-0clang/test/Driver/Inputs/install_tree_with_libcxx/lib/.keep
+0-0clang/test/Driver/Inputs/install_tree_with_libcxx/include/c++/v1/.keep
+0-0clang/test/Driver/Inputs/install_tree_with_libcxx/bin/.keep
+8-246 files

LLVM/project 0f24325lld/COFF Chunks.h Driver.cpp, lld/test/COFF arm64x-tls.s

[LLD][COFF] Replace ARM64EC TLS directory chunks with native chunks when available (#212845)

On ARM64X targets, CRT provides separate TLS directory chunks, expecting
the linker to sort it out. TLS directory uses _tls_start and _tls_end
symbols to reference .tls section. Those symbols use section sorting to
ensure that they are emitted at the start and end of .tls section, but that's
not enough when we have two separate chunks for views: only one of them
can really be the first one. Following MSVC, merge those chunks instead so
that both symbol tables point to the same chunk.

Additionally apply the same logic to _tls_used and _tls_index. This
allows entire TLS directory to be shared between EC and native views. To
achieve that, CRT additionally needs to mark each TLS callback with
-arm64xsameaddress. This matches how MSVC linker and libraries work, but
it requires EC and native views to use the same set of TLS callbacks. We
may emit separate TLS directories in the future to make it more robust.

(cherry picked from commit e096d2f60dbc6cab991d5c02a5f7125a6dc694dc)
DeltaFile
+121-0lld/test/COFF/arm64x-tls.s
+24-3lld/COFF/Driver.cpp
+2-1lld/COFF/Chunks.h
+147-43 files

LLVM/project b913248llvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange guarded-inner-loop.ll interchanged-loop-nest-3.ll

[LoopInterchange] Prevent the transformation stage from stopping partway (#205564)

As mentioned in #205562, there are cases where the transformation stage
in LoopInterchange stops partway through, and the output IR ends up
partially modified rather than interchanged. Notably, the interchange is
recognized as having succeeded internally even in such cases. Apparently
this happens not to cause any miscompiles at the moment, but it is
clearly dangerous.

This patch removes the early exit in the transformation phase. We cannot
simply remove it, which checks for the presence of a unique successor of
the inner loop header, because there is a case where the header actually
has multiple successors. To avoid that situation, this patch changes the
code to call SplitBlock on the inner loop header unconditionally.

The test changes fall into two categories: some are simply due to newly
added redundant BBs. In the others, the expected interchanges are now
applied as intended, whereas previously the transformation failed and
the interchanges were not applied before this patch.

    [2 lines not shown]
DeltaFile
+20-39llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+15-19llvm/test/Transforms/LoopInterchange/transform-stop-partway.ll
+18-14llvm/test/Transforms/LoopInterchange/pr57148.ll
+12-14llvm/test/Transforms/LoopInterchange/pr43326-ideal-access-pattern.ll
+11-13llvm/test/Transforms/LoopInterchange/interchanged-loop-nest-3.ll
+11-9llvm/test/Transforms/LoopInterchange/guarded-inner-loop.ll
+87-1083 files not shown
+101-1169 files

LLVM/project f99b289lldb/source/API SBTarget.cpp, lldb/source/Target Target.cpp

[lldb] Fix crash on creating string error (#212503)

It crashes because the `default` error string may not be a format string
compared to the `fallback` error string

(cherry picked from commit 29bc0749034c4f2bda0752360ecacd4e89d7439c)
DeltaFile
+7-5lldb/source/Target/Target.cpp
+2-0lldb/source/API/SBTarget.cpp
+9-52 files

FreeNAS/freenas dc5ba2bsrc/middlewared/middlewared/plugins directoryservices.py, src/middlewared/middlewared/plugins/directoryservices_ util_cache.py

Directory services cache fixes

insert_cache_entry() built the NAME_ key from the numeric id rather
than the name, so entries added by the lazy insertion path were only
reachable by id. A by-name lookup for such an entry missed the cache
and fell through to NSS plus idmap.synthetic_user. The bulk fill
path was unaffected, and query_cache_entries() reads only
ID_-prefixed keys, so enumeration results did not change.

DSCacheFill did not remove its temporary files when fill_cache()
raised before _commit(), so a failed fill can leave
directory_service_cache_tmp_* files behind in the cache directory.
fill_cache() documents NssError, WBCErr and job abort as reachable,
and nothing else removes those files. Cleanup now also covers a
failure partway through __enter__, which does not invoke __exit__.

expire_cache() now writes a timezone-aware UTC timestamp, matching
fill_cache() and check_cache_expired().


    [7 lines not shown]
DeltaFile
+199-0tests/unit/test_directoryservices_util_cache.py
+51-31src/middlewared/middlewared/plugins/directoryservices_/util_cache.py
+5-5src/middlewared/middlewared/plugins/directoryservices.py
+255-363 files

FreeBSD/ports 363f4c4www/nginx-full Makefile

www/nginx-full: chase devel/mongo-c-driver update

Reported by:    joneum (via mail)
Approved by:    osa, vvd (Mentors, implicit)
DeltaFile
+1-1www/nginx-full/Makefile
+1-11 files

FreeNAS/freenas 2a02ba4src/middlewared/middlewared/plugins/pool_ utils.py, src/middlewared/middlewared/plugins/zfs tier.py

Make ZFS deduplication incompatible with the PERFORMANCE tier

Deduplicated datasets are excluded from tiering: they report a null
tier, and dataset_set_tier and rewrite_job_create reject them.

Enabling dedup (ON/VERIFY) is refused only when a dataset's data is on
the SPECIAL vdev, i.e. the PERFORMANCE tier (special_small_blocks > 0).
REGULAR datasets, volumes, and pools without a SPECIAL vdev may be
deduplicated freely.
DeltaFile
+260-0tests/api2/zfs_tier/test_dedup_interaction.py
+66-81tests/api2/zfs_tier/test_jobs_extended.py
+94-26tests/api2/zfs_tier/conftest.py
+119-0src/middlewared/middlewared/plugins/pool_/utils.py
+46-2src/middlewared/middlewared/plugins/zfs/tier.py
+9-3tests/api2/zfs_tier/test_set_tier_errors.py
+594-1126 files not shown
+623-12012 files

LLVM/project 2deffcallvm/docs LangRef.md

[LangRef] Fix language around strictfp semantics (#213879)

The LangRef wording changed in 15bb4a97a7 ([IR] Make semantics of
strictfp consistent v2, #211769) is unfortunately incorrect. There are
some open questions around its semantics, but a simple revert should do
for the moment.

Reported-by: Ömer Sinan Ağacan <omer at osa1.net>
DeltaFile
+4-2llvm/docs/LangRef.md
+4-21 files

FreeBSD/ports 1167e16net/libyang2 pkg-plist Makefile

net/libyang2: update to 2.1.148

Sponsored by:   Netflix
DeltaFile
+3-3net/libyang2/distinfo
+1-1net/libyang2/pkg-plist
+1-1net/libyang2/Makefile
+5-53 files