LLVM/project af2ddf4llvm/include/llvm/ADT SmallVector.h, llvm/unittests/ADT SmallVectorTest.cpp

[ADT] Allow SmallVector move construction without move assignment (#219934)

Move-construct inline elements directly instead of using move assignment.

This avoids requiring element types to be move-assignable, only move-constructible.
Such types at the moment forces us to fall back to std::vector, for no good reason other
than an implementation quirks which is fixed here.

Assisted-by: Codex
DeltaFile
+60-0llvm/unittests/ADT/SmallVectorTest.cpp
+16-2llvm/include/llvm/ADT/SmallVector.h
+76-22 files

FreeBSD/src f41d835sys/fs/nfsclient nfs_clrpcops.c, sys/rpc rpc_generic.c

nfsclient: Fix problems with the NFS over RDMA glue

There were a couple of problems detected w.r.t. the
"glue" for the nfsclrdma.ko module.
- When the NFS server has a small reply for a read,
  it can choose to not use the reduction chunk
  (separate memory area for the read data).  I did
  not realize this was the case.
- There was a bug in rpc_copy_uio_pages() function
  that caused intermittent crashes in memcpy().

This patch fixes the above cases.  It uses M_PROTO6
to mark that an RPC reply has used a reduction chunk,
so that read can handle it correctly.  Read also now
provides a reduction chunk for all read sizes, since
the worst case for the rest of the read RPC reply is
close to the 1024 byte limit.  (NFSv4 uses strings
instead of uid/gid in the attributes and these name
strings can be rather large.)

    [12 lines not shown]
DeltaFile
+49-35sys/rpc/rpc_generic.c
+46-12sys/fs/nfsclient/nfs_clrpcops.c
+95-472 files

OpenZFS/src 0daa27ftests/zfs-tests/include libtest.shlib

ZTS: Do not run rm -rf / when $TESTPOOL is empty

Grok accidentally did this to itself in a cloud development environment.
Let us learn from its goof.

This also handles other cases where $TESTPOOL is set to something like
`./`, which would still lead to ` rm -rf /` in our scripts. In these
cases, rm implementations that implement --no-preserve-root such as GNU
coreutils 9.1 and later, will not save us.

Reported-by: Grok 4.5 Build Beta
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Chris Longros <chris.longros at gmail.com>
Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Signed-off-by: Richard Yao <richard at ryao.dev>
Closes #18933
DeltaFile
+12-0tests/zfs-tests/include/libtest.shlib
+12-01 files

FreeBSD/src 326ab53sys/kern sys_procdesc.c

pdopenpid(2): in cap mode, translate all errors from pdopenpid1() to ECAPMODE

to not leak information about unused pids or system processes' pids.

Reviewed by:    markj
Fixes:  73c92a978cce ("pdopenpid(2): allow in capability mode with restrictions")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59252
DeltaFile
+3-0sys/kern/sys_procdesc.c
+3-01 files

FreeBSD/src b3734c1tests/sys/kern procdesc.c

tests/sys/kern/procdesc.c: mark grandchild var in pdopenpid_capmode() as volatile

The variable is written in the child process which shares the address
space with the parent.  The data flow must not be optimized by a compiler.

Reviewed by:    markj
Fixes:  ddf62c83fc0a ("sys/tests/kern/pdopenpid: pdopenpid(2) is allowed in cap mode")
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Differential revision:  https://reviews.freebsd.org/D59282
DeltaFile
+2-1tests/sys/kern/procdesc.c
+2-11 files

FreeBSD/src d675662sys/dev/clk/rockchip rk3568_cru.c

Fixed some clocks divide width.

clk_cpll_div_333m_div, clk_cpll_div_125m_div, clk_cpll_div_50m_div,
clk_cpll_div_25m_div, clk_cpll_div_100m_div, clk_osc0_div_750k_div
did not respond Rockchip RK3568 TRM Part1 V1.1-20210301.pdf
documentation page 79. I changed them correctly.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2287
DeltaFile
+6-6sys/dev/clk/rockchip/rk3568_cru.c
+6-61 files

FreeBSD/src bfa3613stand/kboot/libkboot util.c

kboot: Fix file2str() buffer under-read

Signed-off-by: Aryan Arora <aryanarora.w1 at gmail.com>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2359
DeltaFile
+1-1stand/kboot/libkboot/util.c
+1-11 files

FreeBSD/src b7400b0usr.sbin/bluetooth/ath3kfw main.c

bluetooth/ath3kfw: Whitelist "Dell Wireless 1802 Bluetooth 4.0 LE"

"Qualcomm Atheros Communications Dell Wireless 1802 Bluetooth 4.0 LE"
(0cf3:e006) is a wifi-bluetooth combo. The bluetooth chip is confirmed
to be AR3012 compatible. That's what the Linux ath3k driver loads as
well. It has been tested with the firmware files from the
https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
repository as the comms/ath3k-firmware port appears to be discontinued.

Signed-off-by: Robin Haberkorn <rhaberkorn at fmsbw.de>
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/2280
DeltaFile
+1-0usr.sbin/bluetooth/ath3kfw/main.c
+1-01 files

LLVM/project 9c4f804clang/lib/AST/ByteCode InterpFrame.cpp

[clang][bytecode][NFC] Use Func->getDecl() instead of getCallee() (#220230)

We already `assert(Func)` above and use `Func` directly in other places
in this function, so just get the `FunctionDecl` from that instead of
going through the virtual function.
DeltaFile
+1-1clang/lib/AST/ByteCode/InterpFrame.cpp
+1-11 files

LLVM/project 67f9f42flang/include/flang/Optimizer/Analysis TBAAForest.h, flang/include/flang/Optimizer/Dialect FIROpsSupport.h

[fir][AddAliasTags] allow usage of AddAliasTag pass after FirToMemref (#219493)

This is a first patch to improve mixed-dialect support in Flang. The
goal is to allow TBAA tags to be generated before codegen even
after FIRToMemRef or ExternalNameConversion has run.

Concretely:
- Treat non-FIR allocation operations as local allocations under the
  "allocated data" TBAA subtree. They cannot alias Fortran dummy
  arguments. If a conversion pass copied the Fortran variable uniq_name
  onto the new allocation, use that name so the access is distinct from other
  named allocations; otherwise use the unnamed "allocated data" tag.

- Always look for fir.internal_name when building the TBAA tree, not
  only on llvm.func. This removes the assumption that
  ExternalNameConversion has not run before AddAliasTags and
  makes it possible to place the pass later in new pipelines.

Note that this patch is not enough to generate Fortran TBAA tags in LLVM
IR after FIRToMemRef. MemRef will also need to understand the tbaa
attribute and propagate it through its LLVM lowering.
DeltaFile
+106-0flang/test/Transforms/tbaa.fir
+20-10flang/lib/Optimizer/Transforms/AddAliasTags.cpp
+14-9flang/include/flang/Optimizer/Analysis/TBAAForest.h
+6-0flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
+1-1flang/test/Fir/tbaa-codegen2.fir
+147-205 files

LLVM/project 8f59232llvm/docs/CommandGuide llvm-debuginfo-analyzer.md llvm-debuginfo-analyzer.rst, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll calling-conventions.ll

Rebase

Created using spr 1.3.7
DeltaFile
+2,115-2,484llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+0-2,234llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
+2,217-0llvm/docs/CommandGuide/llvm-debuginfo-analyzer.md
+611-829llvm/test/CodeGen/AMDGPU/calling-conventions.ll
+567-723llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+953-178llvm/test/Transforms/LoopVectorize/select-last-index-fp.ll
+6,463-6,4481,591 files not shown
+55,080-30,5911,597 files

LLVM/project 2340e62llvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize multiple-result-intrinsics.ll struct-return-replicate.ll

[VPlan] Don't replicate extractvalues that would require extracting lanes from a struct (#219941)

In the added test cases, we have an extractvalue in a replicate region:

    vector.ph:
      WIDEN-INTRINSIC ir<%sincos> = call llvm.sincos(ir<0.000000e+00>)

    ...

    pred.store.if:
      EMIT vp<%3> = extractelement ir<%sincos>, ir<0>
      CLONE ir<%cos> = extractvalue vp<%3>
      CLONE store ir<%cos>, ir<%cos_dst>

However the operand

a) doesn't generate per lane
b) isn't defined in the same replicate region


    [6 lines not shown]
DeltaFile
+190-0llvm/test/Transforms/LoopVectorize/struct-return-replicate.ll
+51-0llvm/test/Transforms/LoopVectorize/multiple-result-intrinsics.ll
+9-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+250-03 files

LLVM/project e47fab5llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 and-neg-pow2-copyable.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+93-29llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+12-21llvm/test/Transforms/SLPVectorizer/X86/and-neg-pow2-copyable.ll
+105-502 files

LLVM/project 98d8c56flang/lib/Utils OpenMP.cpp

[Flang][OpenMP] Fix crash on paths where no optional mangler is provided (#220043)

Currently we will ICE in certain test cases where we run the
DoConcurrentConversion or the privatization pass that invokes
getOrGenImplicitDefaultDeclareMapper with no provided mapper. As we will
still invoke the mapper function without checking it's actually
available. Fix this by verifying we have been provided one first before
usage, the fall back path of using the
getCanonicalDefaultDeclareMapperName results remains the same.
DeltaFile
+2-1flang/lib/Utils/OpenMP.cpp
+2-11 files

LLVM/project f757d4ellvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Switch to SmallVector with space on stack

SmallVector allows for much larger small sizes than SetVector, so use 256 to match InstructionWorklist.
We don't need to worry about duplicate worklist entries until we add users to the worklist.
DeltaFile
+4-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+4-41 files

LLVM/project aa82f05llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 matmul.ll splat-loads.ll

[SLP]Vectorize unique scalars of splat gather nodes as separate subtrees

A splat gather (the same instruction in every lane) is emitted as an
expensive insertion sequence. When the unique scalars of several splat
gathers form a vectorizable bundle, build them as a separate subtree and
emit the splat gathers as broadcasts of the vectorized value.

Original Pull Request: https://github.com/llvm/llvm-project/pull/218250

Recommit after revert in b80664df122426d703fd8eb0ad7e8e9c2c19bbf3 with
fixed compiler crashes

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/220250
DeltaFile
+219-43llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+62-161llvm/test/Transforms/SLPVectorizer/X86/splat-gather-operands.ll
+8-24llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
+9-17llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
+9-11llvm/test/Transforms/SLPVectorizer/RISCV/splat-gather-extracts.ll
+4-12llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
+311-2685 files not shown
+328-29511 files

FreeBSD/ports 55f2a5eirc/quassel pkg-plist distinfo, irc/quassel-core Makefile

irc/quassel[-core]: update to 0.14.50, WIP build of Qt6 porting stage

PR:     296230
DeltaFile
+37-27irc/quassel/Makefile
+7-3irc/quassel/distinfo
+1-4irc/quassel-core/Makefile
+2-1irc/quassel/pkg-plist
+47-354 files

LLVM/project 2de0c92clang/test/OpenMP amdgpu_throw_trap.cpp, llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs amdgpu_function_name.ll

AMDGPU: Use subarch triples in misc. tests
DeltaFile
+1-1llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_function_name.ll
+1-1clang/test/OpenMP/amdgpu_throw_trap.cpp
+2-22 files

LLVM/project 014265fclang/test/VFS output-file-permissions.c, llvm/lib/Support VirtualOutputBackends.cpp

[Support][vfs] Remove can_write check when replacing file (#219540)

Remove the can_write check when the file is to be replaced. can_write checks the
permission bits of the file itself, but OnDiskOutputFile::keep() will delete and
replace the file for which the permission bits of the parent directory are the
relevant ones. Keep the check in append mode where the file is actually opened
for writing.

The check causes problems with ccache which removes write permission in
hard_link mode to protect its cache. The file can still be replaced.
DeltaFile
+16-0clang/test/VFS/output-file-permissions.c
+8-4llvm/lib/Support/VirtualOutputBackends.cpp
+24-42 files

FreeBSD/ports 3ae825cnet/cloudquery Makefile distinfo

net/cloudquery: update to version 6.41.2

Go modules used in the build have been updated.
DeltaFile
+5-5net/cloudquery/distinfo
+1-2net/cloudquery/Makefile
+6-72 files

LLVM/project 4588e35llvm/test/Transforms/SLPVectorizer splat-gather-subtree-stale-load-entries.ll

[SLP][NFC]Add a test with broadcasted scalars handling, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/220246
DeltaFile
+118-0llvm/test/Transforms/SLPVectorizer/splat-gather-subtree-stale-load-entries.ll
+118-01 files

LLVM/project 3c18a4dllvm/lib/Transforms/Vectorize VPlanTransforms.cpp

Address review comments

- Limit to double initial worklist size
- Use VPSingleDefRecipe type
DeltaFile
+11-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-61 files

OpenBSD/ports LlI6YFjtextproc/p5-PPIx-Regexp Makefile distinfo

   update p5-PPIx-Regexp to 0.092
   no functional change
VersionDeltaFile
1.17+2-2textproc/p5-PPIx-Regexp/distinfo
1.25+2-1textproc/p5-PPIx-Regexp/Makefile
+4-32 files

LLVM/project ad03738llvm/test/Transforms/SLPVectorizer splat-gather-subtree-stale-load-entries.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+118-0llvm/test/Transforms/SLPVectorizer/splat-gather-subtree-stale-load-entries.ll
+118-01 files

FreeBSD/ports 16ddd30security/vuxml/vuln 2026.xml

security/vuxml: Unbreak

Fixes:          820ac6c24c44 ("security/vuxml: add www/*chromium < 152.0.7977.64")
DeltaFile
+2-2security/vuxml/vuln/2026.xml
+2-21 files

LLVM/project 025dde9llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp LegalizeFloatTypes.cpp, llvm/test/CodeGen/X86 ctselect.ll

Merge branch 'users/wizardengineer/ct-select-core' into users/wizardengineer/ct-select-clang
DeltaFile
+0-14llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+0-6llvm/test/CodeGen/X86/ctselect.ll
+0-6llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+0-263 files

LLVM/project 38fe089llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp, llvm/test/CodeGen/AMDGPU codegen-no-subarch-warn.ll

AMDGPU: Warn if trying to codegen without a subarch

Warn if using the legacy amdgcn name, or amdgpu without a
specified subarch. This is to push all the non-clang frontends
to update to the new system, but this should turn into an error
in the next release.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+20-1llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+16-0llvm/test/CodeGen/AMDGPU/codegen-no-subarch-warn.ll
+36-12 files

OpenBSD/ports FZyN3Buwww/librewolf/pkg PLIST

   www/librewolf: glxtest, vulkantest & vaapitest merged into gfxtest cf #1949093
VersionDeltaFile
1.4+1-3www/librewolf/pkg/PLIST
+1-31 files

OPNSense/core e5a9444src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api LeasesController.php

Services: Dnsmasq DNS & DHCP: include expire and lease type in leases search fields (#10824)
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Dnsmasq/Api/LeasesController.php
+1-11 files

OPNSense/core c245176src/opnsense/mvc/app/controllers/OPNsense/Kea/Api LeasesController.php, src/opnsense/mvc/app/views/OPNsense/Kea leases6.volt leases4.volt

Services: Kea DHCPv4/6: fix leases sorting (#10823)
DeltaFile
+22-3src/opnsense/mvc/app/controllers/OPNsense/Kea/Api/LeasesController.php
+10-4src/opnsense/mvc/app/views/OPNsense/Kea/leases6.volt
+10-4src/opnsense/mvc/app/views/OPNsense/Kea/leases4.volt
+42-113 files