LLVM/project 0b0dca5clang/lib/Driver/ToolChains CommonArgs.cpp AMDGPU.cpp, clang/test/Driver opencl-libclc.cl hip-device-libs-llvm-env.hip

clang/AMDGPU: Do not look for rocm device libs if environment is llvm (#180922)

clang/AMDGPU: Do not look for rocm device libs if environment is llvm

Introduce usage of the llvm environment type. This will be useful as
a switch to eventually stop depending on externally provided libraries,
and only take bitcode from the resource directory.

I wasn't sure how to handle the confusing mess of -no-* flags. Try
to handle them all. I'm not sure --no-offloadlib makes sense for OpenCL
since it's not really offload, but interpret it anyway.
DeltaFile
+23-0clang/test/Driver/opencl-libclc.cl
+16-6clang/lib/Driver/ToolChains/CommonArgs.cpp
+11-3clang/lib/Driver/ToolChains/AMDGPU.cpp
+11-0clang/test/Driver/hip-device-libs-llvm-env.hip
+2-2libclc/CMakeLists.txt
+3-0clang/lib/Driver/ToolChains/HIPAMD.cpp
+66-113 files not shown
+68-129 files

LLVM/project 6d6feb7libc/docs/gpu rpc.rst, libc/shared rpc_dispatch.h rpc_util.h

[libc] Add RPC helpers for dispatching functions to the host (#179085)

Summary:
The RPC interface is useful for forwarding functions. This PR adds
helper functions for doing a completely bare forwarding of a function
from the client to the server. This is intended to facilitate
heterogenous libraries that implement host functions on the GPU (like
MPI or Fortran).
DeltaFile
+258-0libc/shared/rpc_dispatch.h
+205-0offload/test/libc/rpc_callback.cpp
+176-2libc/shared/rpc_util.h
+0-66offload/test/libc/rpc_callback.c
+44-5libc/docs/gpu/rpc.rst
+35-3libc/shared/rpc.h
+718-766 files

LLVM/project 3f73f83clang/lib/CodeGen CGHLSLBuiltins.cpp, clang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp SemaHLSL.cpp

[HLSL] Implement Sample* methods for Texture2D (#179322)

This commit implement the methods:

- SampleBias
- SampleCmp
- SampleCmpLevelZero
- SampleGrad
- SampleLevel

They are added to the Texture2D resource type. All overloads except for
those with the `status` argument.

Part of https://github.com/llvm/llvm-project/issues/175630

Assisted-by: Gemini

---------

Co-authored-by: Helena Kotas <hekotas at microsoft.com>
DeltaFile
+348-2clang/test/AST/HLSL/Texture2D-AST.hlsl
+240-6clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+133-53clang/lib/Sema/SemaHLSL.cpp
+140-20clang/lib/CodeGen/CGHLSLBuiltins.cpp
+108-0clang/test/CodeGenHLSL/resources/Texture2D-SampleGrad.hlsl
+0-90clang/test/CodeGenHLSL/resources/Texture2D.sample.hlsl
+969-17115 files not shown
+1,550-17221 files

FreeNAS/freenas bae58e0src/freenas/usr/local/bin truenas-grub.py, src/middlewared/middlewared/utils io.py

WIP tests
DeltaFile
+239-0tests/unit/test_atomic_replace.py
+34-3src/middlewared/middlewared/utils/io.py
+1-1src/freenas/usr/local/bin/truenas-grub.py
+274-43 files

LLVM/project d8fdcc0lldb/test/API/riscv/conflicting-extensions-disassembly TestConflictingExtensions.py Makefile, lldb/test/API/riscv/disassembler TestDisassembler.py

update tests
DeltaFile
+8-32lldb/test/API/riscv/disassembler/TestDisassembler.py
+32-0lldb/test/API/riscv/conflicting-extensions-disassembly/TestConflictingExtensions.py
+17-0lldb/test/API/riscv/conflicting-extensions-disassembly/Makefile
+8-0lldb/test/API/riscv/conflicting-extensions-disassembly/main.c
+6-0lldb/test/API/riscv/conflicting-extensions-disassembly/file_with_zcmp.c
+6-0lldb/test/API/riscv/conflicting-extensions-disassembly/file_with_zcd.c
+77-321 files not shown
+82-327 files

LLVM/project 4677fc3lldb/include/lldb/Target Platform.h, lldb/source/Plugins/Architecture/Arm ArchitectureArm.cpp

Revert "[lldb] Step over non-lldb breakpoints" (#180944)

Reverts llvm/llvm-project#174348 due to reported failures on MacOS and
Arm 32-bit Linux.
DeltaFile
+61-87lldb/source/Target/Platform.cpp
+0-76lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
+71-0lldb/test/API/macosx/builtin-debugtrap/TestBuiltinDebugTrap.py
+0-42lldb/source/Target/StopInfo.cpp
+0-30lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
+0-29lldb/include/lldb/Target/Platform.h
+132-26413 files not shown
+147-34419 files

FreeNAS/freenas 798a2b8src/middlewared/middlewared/utils io.py

Fix
DeltaFile
+1-1src/middlewared/middlewared/utils/io.py
+1-11 files

LLVM/project a8f2119llvm/lib/CodeGen ExpandIRInsts.cpp, llvm/test/CodeGen/AMDGPU fptoi.i128.ll

[ExpandIRInsts] Support saturating fptoi (#179710)

Add support for expanding fptosi.sat and fptoui.sat via IR expansions.
Similar to fptosi/fptoui we would get legalization errors otherwise.

The previous expansion for fptosi/fptoui was already saturating -- but
those instructions do not actually require saturation, and the
implementation of the saturation was incorrect in lots of ways. What
this PR does is:

* For fptosi, remove the unnecessary saturation handling.
* For fptoui, remove the unnecessary saturation handling and sign
multiplication.
* For fptosi, use the previous saturation handling with fixes: We need
to map NaNs to 0 and the saturation condition on the exponent was
incorrect. (I'm performing the NaN check via fcmp -- there's no
requirement to do everything bitwise here.)
* For fptoui use a variation of the signed saturation handling: Negative
values need to go to zero and we saturate to unsigned max.

Proofs: https://alive2.llvm.org/ce/z/Xv9FNd
DeltaFile
+470-1,417llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
+103-75llvm/test/Transforms/ExpandIRInsts/X86/expand-fp-convert-small.ll
+84-40llvm/lib/CodeGen/ExpandIRInsts.cpp
+9-75llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptoui129.ll
+9-51llvm/test/Transforms/ExpandIRInsts/X86/expand-large-fp-convert-fptosi129.ll
+675-1,6585 files

LLVM/project 98fcc11flang/test/Lower mixed_loops.f90 while_loop.f90, flang/test/Lower/forall forall-2.f90 degenerate.f90

[flang][NFC] Converted five tests from old lowering to new lowering (part 17) (#180869)

Tests converted from test/Lower: goto-do-body.f90, mixed_loops.f90,
while_loop.f90
From test/Lower/forall: degenerate.f90, forall-2.f90
DeltaFile
+90-139flang/test/Lower/forall/forall-2.f90
+58-63flang/test/Lower/mixed_loops.f90
+46-44flang/test/Lower/while_loop.f90
+25-17flang/test/Lower/forall/degenerate.f90
+19-16flang/test/Lower/goto-do-body.f90
+238-2795 files

FreeNAS/freenas 12cb730src/freenas/usr/local/bin truenas-grub.py, src/middlewared/middlewared/utils io.py

Add function for atomic_replace

This commit adds a helper function to use openat2 and
renameat2 to atomically replace files whilst providing
symlink race resistance.

NOTE: temp_dir and target have to be on same filesystem
and neither path can contain symlinks.
DeltaFile
+84-15src/middlewared/middlewared/utils/io.py
+2-26src/freenas/usr/local/bin/truenas-grub.py
+86-412 files

OPNSense/core d1ee6b7src/opnsense/scripts/captiveportal cp-background-process.py, src/opnsense/scripts/captiveportal/lib db.py arp.py

captive portal: fix and clean up session handling
DeltaFile
+63-13src/opnsense/scripts/captiveportal/lib/db.py
+29-40src/opnsense/scripts/captiveportal/cp-background-process.py
+24-9src/opnsense/scripts/interfaces/list_hosts.py
+2-2src/opnsense/scripts/captiveportal/lib/arp.py
+1-1src/opnsense/service/templates/OPNsense/Captiveportal/captiveportal.conf
+119-655 files

FreeBSD/src ddfe98esys/dev/qlnx/qlnxe qlnx_os.c

qlnxe: Allow tapping the TX packets

Currently only the packets in the RX path can be captured by tcpdump
as the ETHER_BPF_MTAP call in the TX path is missing. Add it so that
packets in both directions can be captured.

PR:             290973
Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54891

(cherry picked from commit 968647502ec21464ad3aecc7577ff0e8dfd41693)
(cherry picked from commit 425b9cec0b8ce15a6e67d54a73f4f38dc66a4ccc)
DeltaFile
+1-0sys/dev/qlnx/qlnxe/qlnx_os.c
+1-01 files

FreeBSD/src 87942d7sys/dev/qlnx/qlnxe qlnx_os.c ecore_l2.c

qlnxe: Overhaul setting the multicast MAC filters

When operating the multicast MAC filters, the current usage of
ECORE_FILTER_ADD and ECORE_FILTER_REMOVE are rather misleading.
ECORE_FILTER_ADD reads "adding new filter", but it actually removes
any existing filters and then addes a new one. ECORE_FILTER_REMOVE
reads "removing a filter", but it actually removes all filters.
Let's use ECORE_FILTER_REPLACE and ECORE_FILTER_FLUSH instead to
avoid confusion.

In the current implementation, only one MAC address is passed to
ecore_sp_eth_filter_mcast() and any previously installed filters are
removed, hence it breaks the multicast function. That can be observed
via either assigning new IPv6 addresses to the interface or putting
the interface as a member of lagg(4) interface with LACP aggregation
protocol. Fix that by calculating the multicast filter bins directly
from multicast MAC addresses and replace the filters every time
the bins changes.


    [21 lines not shown]
DeltaFile
+37-153sys/dev/qlnx/qlnxe/qlnx_os.c
+21-20sys/dev/qlnx/qlnxe/ecore_l2.c
+3-8sys/dev/qlnx/qlnxe/ecore_vf.c
+4-5sys/dev/qlnx/qlnxe/ecore_l2_api.h
+1-4sys/dev/qlnx/qlnxe/qlnx_def.h
+66-1905 files

FreeBSD/src ee64955sys/dev/qlnx/qlnxe qlnx_os.c

qlnxe: Avoid reinitializing the interface when it is already initialized

qlnx_init_locked() unconditionally uninitialize the interface thus is
actually reinitializing the interface. Well the init routine qlnx_init()
is to initialize the interface by net stack when assigned with the first
inet or inet6 address. The ioctl SIOCSIFADDR for the first inet6 address
is handled by ether_ioctl() thus the interface is reinitialized no matter
it was initialized or not.

Add a driver status check for that to avoid reinitializing. Further plan
is removing SIOCSIFADDR ioctl from the driver and let ether_ioctl() handle
it.

Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54887

(cherry picked from commit c10e6bc0f0079e90cb484323ad71d437f1882422)
(cherry picked from commit 8731ff4871d5397bae65bf184c44629a52c0e97b)
DeltaFile
+2-1sys/dev/qlnx/qlnxe/qlnx_os.c
+2-11 files

FreeBSD/src e1a051fsys/modules/qlnx/qlnxev Makefile

qlnxev: Remove now unneeded include for opt_inet.h

Since the change [1], this is not required anymore.

This change partially reverts commit 8a847947153e.

[1] 4012b63889e4 qlnxe: Let ether_ioctl() handle SIOCSIFADDR ioctl

Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54889

(cherry picked from commit ec7950fe42344900567cb72c83845ea4dc5a7114)
(cherry picked from commit 926e44b4983408dd8a4f5d7eb695de75b373548d)
DeltaFile
+0-1sys/modules/qlnx/qlnxev/Makefile
+0-11 files

FreeBSD/src 00ab0dfsys/dev/qlnx/qlnxe qlnx_os.c qlnx_def.h

qlnxe: Refactor setting the promiscuous and allmulti mode

There are two entry points to set the promiscuous and allmulti mode.
One is ioctl, and another is the init routine. Given they share almost
the identical logic, refactor a little to make the code more clear.

While here, for the ioctl, translate the error to EINVAL to avoid
confusing the net stack.

Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54890

(cherry picked from commit 45b1718fadae7d56051ba04ef9d7a175a602a226)
(cherry picked from commit b8d2c1c367465506b66a1696483caec1d04b2ea0)
DeltaFile
+38-46sys/dev/qlnx/qlnxe/qlnx_os.c
+0-1sys/dev/qlnx/qlnxe/qlnx_def.h
+38-472 files

FreeBSD/src 20ffe22sys/dev/qlnx/qlnxe qlnx_os.c, sys/modules/qlnx/qlnxe Makefile

qlnxe: Let ether_ioctl() handle SIOCSIFADDR ioctl

Since the change [1], the init routine qlnx_init() works as intended.
Let ether_ioctl() handle SIOCSIFADDR to simplify the code.

Combined with the change [1], this shall be a better fix for PR 287445.

[1] c10e6bc0f007 qlnxe: Avoid reinitializing the interface when it is already initialized

PR:             287445
Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54888

(cherry picked from commit 4012b63889e40bb877bc0e4c8da1792bce472c08)
(cherry picked from commit 0f383f74b7398161c12a290e50b060baf45d2800)
DeltaFile
+0-25sys/dev/qlnx/qlnxe/qlnx_os.c
+0-1sys/modules/qlnx/qlnxe/Makefile
+0-262 files

FreeBSD/src ea1143bsys/dev/qlnx/qlnxe qlnx_os.c qlnx_def.h

qlnxe: Avoid memcpy with same source and destination

In case the device is VF, qlnx_get_mac_addr() returns ha->primary_mac
hence it ends up memcpy with same source and destination. Refactor
slightly to avoid that.

Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54884

(cherry picked from commit 3aeeedc7e0dc231c16406ff64f4a08a716964c40)
(cherry picked from commit 6462189595047800337aaf052e397d1aade3f9a7)
DeltaFile
+7-6sys/dev/qlnx/qlnxe/qlnx_os.c
+0-1sys/dev/qlnx/qlnxe/qlnx_def.h
+7-72 files

FreeBSD/src 7d7cee0sys/dev/qlnx/qlnxe qlnx_os.c

qlnxe: Remove a pointless copy back from the link-layer address

On ifnet attaching, ether_ifattach() makes the link-layer address by
shadow copying the ha->primary_mac. Well, the link-layer address will
not be altered during attaching, thus it is pointless to copy it back.

No functional change intended.

Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54883

(cherry picked from commit 4ac3081b282800158df7abe93f307d76e1b5b808)
(cherry picked from commit 23ffd1650cc431e762387d384ede99ae085bc130)
DeltaFile
+0-2sys/dev/qlnx/qlnxe/qlnx_os.c
+0-21 files

FreeBSD/src 6e5b12asys/dev/qlnx/qlnxe qlnx_os.c

qlnxe: Prevent potential concurrency between ioctls

The driver-managed status flags should be lock protected to be touched.
Also this can serialize ioctls those check the IFF_DRV_RUNNING status.

Reviewed by:    kbowling
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54886

(cherry picked from commit 0df8a998a9fe28af659cb401c537c6d785e55f81)
(cherry picked from commit 285b25c080faf71c60de36e834ef31cf70e6b50d)
DeltaFile
+9-8sys/dev/qlnx/qlnxe/qlnx_os.c
+9-81 files

FreeBSD/src 93719f8sys/dev/qlnx/qlnxe qlnx_os.c

qlnxe: Fix setting the unicast MAC filter of RX path

When an Ethernet interface is added to lagg(4) as a child interface, its
type, aka if_type, is changed from IFT_ETHER to IFT_IEEE8023ADLAG. Well
changing the link-layer address of the lagg(4) interface will be
propagated to all child interfaces, hence the drivers of child interfaces
shall not presume the type of the interface will not be changed.

Meanwhile, on initializing, an ifnet has been fully attached and it is
guaranteed to have non-null link-layer address so stop NULL checking for
it.

Reviewed by:    kbowling
Fixes:          792226e53023 qlnxe: Allow MAC address override
MFC after:      5 days
Differential Revision:  https://reviews.freebsd.org/D54885

(cherry picked from commit f250852c9a0c1021c3be4b498e27cfc7b42a81db)
(cherry picked from commit 6d138e958ffb318595eec29b910cada414e2f86d)
DeltaFile
+3-13sys/dev/qlnx/qlnxe/qlnx_os.c
+3-131 files

LLVM/project 5456d63llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 nontemporal-store-interleaved.ll nontemporal-load-interleaved.ll

[AArch64] Lower factor-of-2 interleaved stores to STNP (#177938)

This patch prioritizes lowering to `stnp` over `st2` store instructions
marked !nontemporal.

From performance perspective, we should conservatively prioritize STNP
lowering for non-temporal stores, because currently NT stores requires
explicit usage of `__builtin_nontemporal_store()` intrinsic, so I think
its reasonable to assume the developer explicitly intends to optimize
D-cache usage of some hot non-temporal execution. He can rollback if it
doesnt help.

The cost here is it adds a few instructions for code size (thus we
predicate when not optimizing for code size), few extra fast
instructions to execute, few extra short dep chains - should be commonly
handled by OOO execution, I-cache alignment effects, few extra
registers. In the future we can may be able to approximate a cost model
to select by.


    [3 lines not shown]
DeltaFile
+1,014-0llvm/test/CodeGen/AArch64/nontemporal-store-interleaved.ll
+999-0llvm/test/CodeGen/AArch64/nontemporal-load-interleaved.ll
+97-0llvm/test/CodeGen/AArch64/nontemporal-store-interleaved-optsize.ll
+60-1llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+2-2llvm/lib/Target/AArch64/AArch64InstrInfo.td
+1-1llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
+2,173-46 files

OPNSense/plugins 7bb58a0dns/dnscrypt-proxy Makefile pkg-descr, dns/dnscrypt-proxy/src/opnsense/service/templates/OPNsense/Dnscryptproxy dnscrypt-proxy.toml

dns/dnscrypt-proxy: sync with master
DeltaFile
+1-1dns/dnscrypt-proxy/Makefile
+1-1dns/dnscrypt-proxy/src/opnsense/service/templates/OPNsense/Dnscryptproxy/dnscrypt-proxy.toml
+1-0dns/dnscrypt-proxy/pkg-descr
+3-23 files

OPNSense/plugins 8701588dns/dnscrypt-proxy Makefile pkg-descr

dns/dnscrypt-proxy: wrap up revision
DeltaFile
+1-1dns/dnscrypt-proxy/Makefile
+1-0dns/dnscrypt-proxy/pkg-descr
+2-12 files

LLVM/project 6af11dbclang/include/clang/Driver RocmInstallationDetector.h, clang/lib/Driver/ToolChains AMDGPU.cpp

clang/AMDGPU: Remove dead code in RocmInstallationDetector (#180920)

The defaulted constructor argument isn't used anywhere, so
this path is unreachable.
DeltaFile
+1-3clang/lib/Driver/ToolChains/AMDGPU.cpp
+1-2clang/include/clang/Driver/RocmInstallationDetector.h
+2-52 files

NetBSD/pkgsrc wWnbkThdoc pkg-vulnerabilities

   pkg-vulnerabilities: add last days CVEs

   + freerdp2, gnutls,
     janet (fixed upstream, latest stable release 1.40.1 affected),
     lrzip (not fixed),
     mongodb, munge, mupdf, png, powerdns-recursor, py-cryptography, roundcube,
     ruby-faraday, tcpreplay
VersionDeltaFile
1.732+40-1doc/pkg-vulnerabilities
+40-11 files

LLVM/project 0ec4aa5lldb/source/Host/windows/PythonPathSetup PythonPathSetup.cpp

[lldb][windows] switch to using std::string instead of std::wstring in Python setup (#180786)

This patch changes the return type of methods returning `std:wstring` to
`std::string` in `PythonPathSetup.cpp`.

This follows lldb's style of converting to `std::wstring` at the last
moment.
DeltaFile
+19-18lldb/source/Host/windows/PythonPathSetup/PythonPathSetup.cpp
+19-181 files

NetBSD/pkgsrc kaUhBhRdoc CHANGES-2026

   doc: Updated xlockmore to 5.88

   This updated the xlockmore-lite package too.
VersionDeltaFile
1.1067+3-1doc/CHANGES-2026
+3-11 files

LLVM/project 99c9e5eclang/lib/CodeGen/Targets Hexagon.cpp, clang/test/CodeGen hexagon-linux-vararg.c

[Hexagon] Fix signed constant creation in EmitVAArgFromMemory (#180385)

Use ConstantInt::getSigned instead of ConstantInt::get when creating a
negative alignment mask in EmitVAArgFromMemory. This is the same fix as
commit 8546294db95d (PR #176115) which addressed the issue in
EmitVAArgForHexagonLinux.

Added a test case that exercises the EmitVAArgFromMemory alignment path
using a struct that is both >8 bytes (to trigger EmitVAArgFromMemory)
and has 8-byte alignment (to trigger the alignment masking code).
DeltaFile
+33-0clang/test/CodeGen/hexagon-linux-vararg.c
+1-1clang/lib/CodeGen/Targets/Hexagon.cpp
+34-12 files

FreeNAS/freenas 4f358ffsrc/freenas/usr/local/bin truenas-grub.py, src/middlewared/middlewared/pytest/unit/utils test_write_if_changed.py

Add atomic_write context manager as drop-in replacement for open(filename, 'w')

Adds a reusable utility to middlewared.utils.io that writes to a temporary
file and atomically renames it to the target path on successful exit.
If an exception occurs, the temp file is cleaned up and the original
file remains unchanged.

Refactors truenas-grub.py to use the new atomic_write utility.

https://claude.ai/code/session_01TxV6JvrChiY9jG5GmLZndU
DeltaFile
+92-0src/middlewared/middlewared/pytest/unit/utils/test_write_if_changed.py
+68-0src/middlewared/middlewared/utils/io.py
+2-25src/freenas/usr/local/bin/truenas-grub.py
+162-253 files