LLVM/project 97ef3d4llvm/lib/Transforms/InstCombine InstCombineShifts.cpp, llvm/test/Transforms/InstCombine shift-cttz-ctlz.ll shift.ll

[InstCombine] Fold shl of constant by cttz into multiply of lowest set bit (#214517)

Currently, `C << cttz(X, true)` generates a DeBruijn lookup table on
RV64I (13 instructions).
And this patch adds a fold in InstCombine:
  `C << cttz(X, true)  -->  (-X & X) * C`
This reduces the instruction count from 13 to 3 on RV64I.
The fold requires that cttz has a single use (to avoid increasing
instruction count)

Alive2 proof: https://alive2.llvm.org/ce/z/TmWxrT
DeltaFile
+82-2llvm/test/Transforms/InstCombine/shift.ll
+11-0llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
+6-4llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
+99-63 files

FreeBSD/ports ae40179audio/noctavox Makefile Makefile.crates

audio/noctavox: Update to 0.3.4

ChangeLog:      https://github.com/Jaxx497/NoctaVox/releases/tag/v0.3.4

Reported by:    "github-actions[bot]" <notifications at github.com>
DeltaFile
+117-117audio/noctavox/distinfo
+57-57audio/noctavox/Makefile.crates
+1-1audio/noctavox/Makefile
+175-1753 files

LLVM/project 4d18b27clang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver cuda-flush-denormals-to-zero.cu amdgpu-xnack-sramecc-flags.c

clang/AMDGPU: Stop passing redundant -target-cpu to cc1

Now that the exact target is encoded in the triple's subarch field,
-target-cpu is redundant. This avoids polluting the resultant IR with
unwanted "target-cpu" attributes. The net result is the desired codegen
when compiling libraries for a major subarch and linking it into a
program compiled for a specific arch. e.g., compiling for "gfx9-generic"
would pollute the IR with "target-cpu"="gfx9-generic", so codegen
would ultimately be performed for the generic target even after
linking into the concrete gfx9 cpu. The specialization will now be
achieved by merging the triples without the linker or optimization
passes needing to fixup function attributes.
DeltaFile
+62-62clang/test/Driver/amdgpu-mcpu.cl
+26-26clang/test/Driver/hip-sanitize-options.hip
+12-16clang/test/Driver/hip-rdc-device-only.hip
+19-7clang/lib/Driver/ToolChains/CommonArgs.cpp
+10-10clang/test/Driver/amdgpu-xnack-sramecc-flags.c
+6-6clang/test/Driver/cuda-flush-denormals-to-zero.cu
+135-12726 files not shown
+189-20832 files

LLVM/project 74c1dccllvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU AMDGPUTargetParser.td GCNProcessors.td

AMDGPU: Start using subarch in attributor instead of subtarget

Avoid querying the subtarget for functions when the relevant
properties are known from the triple. The various subtarget
group size functions should also be decoupled from the subtarget,
but those are trickier to untangle.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+26-18llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+9-9llvm/lib/Target/AMDGPU/GCNProcessors.td
+15-1llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+10-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+2-0llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+62-285 files

LLVM/project 75e3236clang/lib/Driver Driver.cpp, clang/lib/Driver/ToolChains CommonArgs.cpp

clang: Start using new amdgpu subarch triples

Fixup invocations using --target=amdgcn + -mcpu to introduce
the subarch in the triple.

For offload toolchains, a single toolchain is constructed for the
top level amdgpu architecture, and the effective triple is used for
target specific tool invocations.

The specifics of the resource directory layout are tbd. This does
try to find resources in the subarch named directory. The paths
are searched at toolchain creation time, so that does not work
when there are multiple subarches.

Fixes #154925
DeltaFile
+59-59clang/test/Driver/offload-arch-translation-amdgpu.cu
+43-43clang/test/Driver/hip-phases.hip
+33-33clang/test/Driver/hip-binding.hip
+48-14clang/lib/Driver/ToolChains/CommonArgs.cpp
+43-12clang/lib/Driver/Driver.cpp
+54-0clang/test/CodeGen/amdgpu-builtin-processor-is-subarch.c
+280-161104 files not shown
+992-497110 files

FreeBSD/ports 65ca699devel/gwm Makefile distinfo

devel/gwm: Update to 1.9.0
DeltaFile
+3-3devel/gwm/distinfo
+1-1devel/gwm/Makefile
+4-42 files

LLVM/project 57a04e1clang/lib/Sema SemaTemplateDeduction.cpp SemaTemplateInstantiateDecl.cpp, clang/test/CXX/temp/temp.decls/temp.friend p5.cpp

Revert "[Clang] Support friend declarations with a dependent nested-name-spec…"

This reverts commit 0b672437c396b700fdb94bd64b176b33f084053b.
DeltaFile
+13-1,089clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
+105-685clang/lib/Sema/SemaAccess.cpp
+122-298clang/lib/Sema/SemaDeclCXX.cpp
+74-336clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+0-263clang/test/SemaTemplate/dependent-friend-constraints.cpp
+37-191clang/lib/Sema/SemaTemplateDeduction.cpp
+351-2,86258 files not shown
+743-3,98564 files

LLVM/project 0b67243clang/lib/Sema SemaTemplateDeduction.cpp SemaTemplateInstantiateDecl.cpp, clang/test/CXX/temp/temp.decls/temp.friend p5.cpp

[Clang] Support friend declarations with a dependent nested-name-specifier (#208345)

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

---

This patch adds support for friend declarations with a dependent NNS
DeltaFile
+1,089-13clang/test/CXX/temp/temp.decls/temp.friend/p5.cpp
+685-105clang/lib/Sema/SemaAccess.cpp
+299-123clang/lib/Sema/SemaDeclCXX.cpp
+334-72clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+263-0clang/test/SemaTemplate/dependent-friend-constraints.cpp
+191-37clang/lib/Sema/SemaTemplateDeduction.cpp
+2,861-35058 files not shown
+3,985-74364 files

NetBSD/pkgsrc m7ju0Psdoc CHANGES-2026

   doc: Updated net/croc to 11.1.1
VersionDeltaFile
1.5306+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc I6JjHIknet/croc go-modules.mk Makefile

   croc: Update to 11.1.1

   What's Changed

   fix: coloring by @schollz in #1240
   docs(README.md): fix stale Go version requirement in README (Go 1.25+) by @Fawz-Haaroon in #1242
   chore: upgrade to v11 by @schollz in #1246
   fix: web load phrase faster by @schollz in #1247
   fix: tests by @schollz in #1248
VersionDeltaFile
1.4+3-3net/croc/distinfo
1.35+2-3net/croc/Makefile
1.4+0-0net/croc/go-modules.mk
+5-63 files

FreeBSD/ports 47e8b14net/dot1ag-utils Makefile distinfo, net/dot1ag-utils/files patch-src_dot1ag__eth.c

net/dot1ag-utils: Update to 1.0.2 from SourceHut; minor bug fix release.

I am the "vendor". Remove upstreamed patch.
DeltaFile
+0-11net/dot1ag-utils/files/patch-src_dot1ag__eth.c
+3-3net/dot1ag-utils/distinfo
+1-1net/dot1ag-utils/Makefile
+4-153 files

LLVM/project d0b3f80llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU AMDGPUTargetParser.td GCNProcessors.td

AMDGPU: Start using subarch in attributor instead of subtarget

Avoid querying the subtarget for functions when the relevant
properties are known from the triple. The various subtarget
group size functions should also be decoupled from the subtarget,
but those are trickier to untangle.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+26-18llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
+9-9llvm/lib/Target/AMDGPU/GCNProcessors.td
+15-1llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+10-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+2-0llvm/lib/Target/AMDGPU/AMDGPUTargetParser.td
+62-285 files

LLVM/project e45007cclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver cuda-flush-denormals-to-zero.cu amdgpu-xnack-sramecc-flags.c

clang/AMDGPU: Stop passing redundant -target-cpu to cc1

Now that the exact target is encoded in the triple's subarch field,
-target-cpu is redundant. This avoids polluting the resultant IR with
unwanted "target-cpu" attributes. The net result is the desired codegen
when compiling libraries for a major subarch and linking it into a
program compiled for a specific arch. e.g., compiling for "gfx9-generic"
would pollute the IR with "target-cpu"="gfx9-generic", so codegen
would ultimately be performed for the generic target even after
linking into the concrete gfx9 cpu. The specialization will now be
achieved by merging the triples without the linker or optimization
passes needing to fixup function attributes.
DeltaFile
+62-62clang/test/Driver/amdgpu-mcpu.cl
+26-26clang/test/Driver/hip-sanitize-options.hip
+12-16clang/test/Driver/hip-rdc-device-only.hip
+19-7clang/lib/Driver/ToolChains/CommonArgs.cpp
+10-10clang/test/Driver/amdgpu-xnack-sramecc-flags.c
+6-6clang/test/Driver/cuda-flush-denormals-to-zero.cu
+135-12726 files not shown
+189-20832 files

LLVM/project 0315632clang/lib/Driver Driver.cpp, clang/lib/Driver/ToolChains CommonArgs.cpp

clang: Start using new amdgpu subarch triples

Fixup invocations using --target=amdgcn + -mcpu to introduce
the subarch in the triple.

For offload toolchains, a single toolchain is constructed for the
top level amdgpu architecture, and the effective triple is used for
target specific tool invocations.

The specifics of the resource directory layout are tbd. This does
try to find resources in the subarch named directory. The paths
are searched at toolchain creation time, so that does not work
when there are multiple subarches.

Fixes #154925
DeltaFile
+59-59clang/test/Driver/offload-arch-translation-amdgpu.cu
+43-43clang/test/Driver/hip-phases.hip
+33-33clang/test/Driver/hip-binding.hip
+48-14clang/lib/Driver/ToolChains/CommonArgs.cpp
+43-12clang/lib/Driver/Driver.cpp
+27-27clang/test/Driver/hip-options.hip
+253-188104 files not shown
+989-497110 files

NetBSD/pkgsrc-wip b065088pnpm Makefile distinfo, pnpm/patches patch-pnpm_crates_cli_src_cli__args_repo.rs

pnpm: update to 12.0.0-rc.3

Pkgsrc changes:

* Use pre-release RC tag instead of release tag.
* One more patch for NetBSD support.

pnpm 12.0.0-rc.4 needs to wait for pkgsrc Rust updating to v1.97.1.
DeltaFile
+24-0pnpm/patches/patch-pnpm_crates_cli_src_cli__args_repo.rs
+3-4pnpm/Makefile
+4-3pnpm/distinfo
+31-73 files

LLVM/project b4c2e90llvm/include/llvm/CodeGen/GlobalISel MIPatternMatch.h, llvm/lib/Target/AArch64/GISel AArch64PostLegalizerCombiner.cpp

AArch64: Use MIPatternMatch in PostLegalizerCombiner ext checks (#216512)

Replace the getVRegDef + opcode-check idiom with mi_match. Add an
m_GSExtInReg matcher for G_SEXT_INREG, which has an extra immediate
operand and so does not fit the plain unary-op matcher shape.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+21-0llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
+3-3llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
+24-32 files

LLVM/project de0f427llvm/lib/CodeGen/GlobalISel Utils.cpp LegalizerHelper.cpp

GlobalISel: Use m_GImplicitDef instead of getVRegDef opcode checks (#216513)

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+1-2llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+1-1llvm/lib/CodeGen/GlobalISel/Utils.cpp
+2-32 files

LLVM/project 48030bdllvm/lib/Target/RISCV/GISel RISCVLegalizerInfo.cpp

RISCV: Use m_GImplicitDef instead of getVRegDef + opcode check (#216514)

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+3-2llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
+3-21 files

LLVM/project 1d1a003llvm/lib/Target/X86 X86InstrInfo.cpp, llvm/test/CodeGen/X86 optimize-compare-undef.mir

X86: Fix optimizeCompareInstr crash on a compare from an undef register

getVRegDef returns null for undef sources, so the assert would fire.
Found by AI while working on other stuff.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+23-0llvm/test/CodeGen/X86/optimize-compare-undef.mir
+2-1llvm/lib/Target/X86/X86InstrInfo.cpp
+25-12 files

LLVM/project d25587allvm/lib/CodeGen PeepholeOptimizer.cpp, llvm/test/CodeGen/X86 peephole-valuetracker-undef.mir

PeepholeOpt: Fix crash on copy from an undef register

Fix ValueTracker looking at the def chain of an undef subregister.
Found by AI while working on something else.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+17-0llvm/test/CodeGen/X86/peephole-valuetracker-undef.mir
+5-2llvm/lib/CodeGen/PeepholeOptimizer.cpp
+22-22 files

NetBSD/pkgsrc IppyKtOdoc CHANGES-2026

   doc: Updated security/p5-Mozilla-CA to 20260813
VersionDeltaFile
1.5305+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc IHWpa7Usecurity/p5-Mozilla-CA Makefile distinfo

   p5-Mozilla-CA: update to 20260813.

   20260813
     - Update from Mozilla repository to 2026-08-13
     - Added certificates:
       - OISTE Server Root ECC G1
       - OISTE Server Root RSA G1
       - SECOM TLS ECC Root CA 2024
       - SECOM TLS RSA Root CA 2024
       - SwissSign RSA TLS Root CA 2022 - 1
       - Telia EC TLS Root CA v3
       - Telia RSA TLS Root CA v3
       - TrustAsia TLS ECC Root CA
       - TrustAsia TLS RSA Root CA
       - e-Szigno TLS Root CA 2023
     - Removed certificates:
       - AffirmTrust Commercial
       - AffirmTrust Networking
       - AffirmTrust Premium

    [29 lines not shown]
VersionDeltaFile
1.24+4-4security/p5-Mozilla-CA/distinfo
1.40+3-4security/p5-Mozilla-CA/Makefile
+7-82 files

NetBSD/pkgsrc Q2ElU4Hdoc CHANGES-2026

   doc: Updated devel/p5-Log-Log4perl to 1.58
VersionDeltaFile
1.5304+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc AmWHPtzdevel/p5-Log-Log4perl distinfo Makefile

   p5-Log-Log4perl: update to 1.58.

   1.58 2026-08-14
   - fix Log::Log4perl::Catalyst losing log messages when two Catalyst apps
     share a process - thanks @fleetfootmike
VersionDeltaFile
1.50+4-5devel/p5-Log-Log4perl/Makefile
1.28+4-4devel/p5-Log-Log4perl/distinfo
+8-92 files

NetBSD/pkgsrc mqCDN5fdoc CHANGES-2026

   doc: Updated security/p5-CryptX to 0.091
VersionDeltaFile
1.5303+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc WxOMktisecurity/p5-CryptX Makefile distinfo

   p5-CryptX: update to 0.091.

   0.091   2026-08-10
           - fix #125 (non-NUL-terminated PVs)
           - new: Crypt::Mode::XTS
           - new: Crypt::Digest::BLAKE3
           - re-enable SHA1/SHA224/SHA256 hash state cloning
           - bundled libtomcrypt update branch:develop (commit: a10cad62 2026-08-07)
VersionDeltaFile
1.32+4-4security/p5-CryptX/distinfo
1.43+2-3security/p5-CryptX/Makefile
+6-72 files

NetBSD/pkgsrc 23eSaRddoc CHANGES-2026

   doc: Updated security/p5-Crypt-DES to 2.09
VersionDeltaFile
1.5302+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc ezTMj8Hsecurity/p5-Crypt-DES Makefile distinfo, security/p5-Crypt-DES/patches patch-__des.h

   p5-Crypt-DES: update to 2.09.

   2.09  2026-08-10
       [Significant Changes since 2.08]
       - Essentially 2.08-TRIAL with minor documentation and test updates
       - Add a Security Considerations section to the pod
       - Clarify module recommendations
       - Move new Module::Whatever to Module::Whatever->new() in pod and tests

       [Detailed Changes]
       - 6d8a719 Increment the version for a release
       - 8aa5583 Update .gitignore
       - e4255e8 Update README
       - bfc70b5 Add a Security Considerations section and clarifiy recommendations
       - 6f3c622 Modernize module new() in tests
       - 061b73a Fix over item back pod with blank lines
       - cefb17d Modernize new() calling and fix missing SYNOPSIS
       - 40eb31b Add a Changes file


    [17 lines not shown]
VersionDeltaFile
1.11+4-5security/p5-Crypt-DES/distinfo
1.40+3-5security/p5-Crypt-DES/Makefile
1.2+1-1security/p5-Crypt-DES/patches/patch-__des.h
+8-113 files

NetBSD/pkgsrc-wip 8c1400flean4-git Makefile PLIST, lean4-git/patches patch-stage0_src_CMakeLists.txt patch-src_CMakeLists.txt

lean4-git: add new package for tracking upstream git
DeltaFile
+17,714-0lean4-git/PLIST
+67-0lean4-git/Makefile
+35-0lean4-git/patches/patch-stage0_src_runtime_process.cpp
+35-0lean4-git/patches/patch-src_runtime_process.cpp
+25-0lean4-git/patches/patch-stage0_src_CMakeLists.txt
+25-0lean4-git/patches/patch-src_CMakeLists.txt
+17,901-07 files not shown
+17,986-013 files

FreeBSD/ports 224276fconverters/pecl-igbinary Makefile, converters/pecl-igbinary-session distinfo pkg-descr

converters/pecl-igbinary-session: New port: Replacement for the standard PHP serializer (+session support)

Igbinary is a drop in replacement for the standard PHP serializer.
Instead of time and space consuming textual representation, igbinary
stores PHP data structures in a compact binary form. Savings are
significant when using memcached or similar memory based storages for
serialized data.

This port supports sessions, a feature that is only available when the
session module is statically compiled into PHP. This port patch igbinary
to use the dynamically compiled session module.

WWW: https://pecl.php.net/package/igbinary
DeltaFile
+69-0converters/pecl-igbinary-session/files/patch-src_php7_igbinary.c
+27-0converters/pecl-igbinary-session/Makefile
+11-0converters/pecl-igbinary-session/files/patch-php85
+9-0converters/pecl-igbinary-session/pkg-descr
+3-0converters/pecl-igbinary-session/distinfo
+2-0converters/pecl-igbinary/Makefile
+121-01 files not shown
+122-07 files