LLVM/project 0d0595bclang/lib/CodeGen/Targets SPIR.cpp, clang/test/CodeGen/AMDGPU amdgpu-atomic-float.c

[SPIR-V] Encode Atomic metadata as UserSemantic string decoration (#193019)

AMDGPU uses metadata to guide atomic related optimisations. SPIR-V was
not handling it, which led to significant and spurious performance
differences. This patch fixes this oversight by encoding the metadata as
UserSemantic string decorations applied to the atomic instructions.
DeltaFile
+304-18clang/test/CodeGenCUDA/atomic-options.hip
+194-25clang/test/CodeGenHIP/amdgpu-flat-atomic-fadd.hip
+113-16clang/test/CodeGen/AMDGPU/amdgpu-atomic-float.c
+70-9clang/test/CodeGenHIP/amdgpu-global-atomic-fadd.hip
+25-0clang/lib/CodeGen/Targets/SPIR.cpp
+22-0llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+728-683 files not shown
+751-699 files

LLVM/project 46e09c5llvm/lib/Transforms/Scalar ExpandMemCmp.cpp

[ExpandMemCmp] Pre-collect memcmp calls to improve compile time (#193415)

Avoid restarting the basic block iteration from the beginning of the
function every time a memcmp/bcmp is expanded. Instead, pre-collect all
memcmp/bcmp calls and process them in a single pass.
DeltaFile
+17-40llvm/lib/Transforms/Scalar/ExpandMemCmp.cpp
+17-401 files

FreeBSD/ports ce64e3bgraphics/mesa-devel distinfo Makefile

graphics/mesa-devel: update to 26.1.b.305

Changes:        https://gitlab.freedesktop.org/mesa/mesa/-/compare/81feb2e7f11...c5edb900465
DeltaFile
+3-3graphics/mesa-devel/distinfo
+2-2graphics/mesa-devel/Makefile
+5-52 files

FreeBSD/ports c9d179demulators/rpcs3 distinfo Makefile

emulators/rpcs3: update to 0.0.40.19240

Changes:        https://github.com/RPCS3/rpcs3/compare/ea0d8a0d78...e26c80c129
DeltaFile
+3-3emulators/rpcs3/distinfo
+2-2emulators/rpcs3/Makefile
+5-52 files

FreeBSD/ports 6b3b9fex11-wm/cagebreak Makefile distinfo

x11-wm/cagebreak: update to 3.2.0

Changes:        https://github.com/project-repo/cagebreak/releases/tag/3.2.0
Reported by:    Repology
DeltaFile
+4-3x11-wm/cagebreak/Makefile
+3-3x11-wm/cagebreak/distinfo
+7-62 files

FreeBSD/ports 79ed0d6comms/chirp distinfo Makefile

comms/chirp: update to 20260417

Event: Boston Marathon 2026
DeltaFile
+3-3comms/chirp/distinfo
+1-1comms/chirp/Makefile
+4-42 files

FreeBSD/ports 301f803devel/ruby-build distinfo Makefile

devel/ruby-build: Update to 20260422

Changes:        https://github.com/rbenv/ruby-build/releases/tag/v20260422
(cherry picked from commit 6e003e6e232004aa7511663580f7c8272878247c)
DeltaFile
+3-3devel/ruby-build/distinfo
+1-1devel/ruby-build/Makefile
+4-42 files

FreeBSD/ports 6e003e6devel/ruby-build distinfo Makefile

devel/ruby-build: Update to 20260422

Changes:        https://github.com/rbenv/ruby-build/releases/tag/v20260422
DeltaFile
+3-3devel/ruby-build/distinfo
+1-1devel/ruby-build/Makefile
+4-42 files

LLVM/project 793bdd8libc/src/__support/threads CndVar.h CMakeLists.txt, libc/src/__support/threads/linux CndVar.cpp CMakeLists.txt

[libc][CndVar] reimplmement conditional variable with FIFO ordering (#192748)

This PR reimplements conditional variable with two different variants:
- futex-based shared condvar with atomic counter for waiters
- queue-based private condvar

Notice that thread-local queue node cannot be reliably accessed in
shared processes, so we cannot use a unified implementation in this
case.

POSIX.1-2024 (Issue 8) added atomicity conditions to conditional
variable:

- The `pthread_cond_broadcast()` function shall, **as a single atomic
operation**, determine which threads, if any, are blocked on the
specified condition variable cond and unblock all of these threads.

- The `pthread_cond_signal()` function shall, as a **single atomic
operation**, determine which threads, if any, are blocked on the

    [41 lines not shown]
DeltaFile
+324-25libc/src/__support/threads/CndVar.h
+128-0libc/test/integration/src/__support/threads/cndvar_test.cpp
+0-106libc/src/__support/threads/linux/CndVar.cpp
+16-7libc/src/__support/threads/CMakeLists.txt
+0-23libc/src/__support/threads/linux/CMakeLists.txt
+18-0libc/test/integration/src/__support/threads/CMakeLists.txt
+486-16113 files not shown
+523-18919 files

LLVM/project ccc608fllvm/lib/Target/DirectX DXILOpLowering.cpp DXILResourceAccess.cpp, llvm/test/CodeGen/DirectX TextureLoad.ll

[DirectX] Implement lowering of Texture Load and Texture .operator[] (#193343)

Fixes https://github.com/llvm/llvm-project/issues/192546 and
https://github.com/llvm/llvm-project/issues/192558

This PR defines the TextureLoad DXIL Op (opcode 66), and implements
lowering of the texture load (dx_resource_load_level) intrinsic to the
DXIL op.

This PR also implements the transformation of loads from texture
resources (via dx_resource_getpointer) into dx_resource_load_level
intrinsics.

Assisted-by: Claude Opus 4.7
DeltaFile
+223-0llvm/test/CodeGen/DirectX/TextureLoad.ll
+97-0llvm/test/CodeGen/DirectX/ResourceAccess/load_texture.ll
+57-0llvm/lib/Target/DirectX/DXILOpLowering.cpp
+46-1llvm/lib/Target/DirectX/DXILResourceAccess.cpp
+14-1llvm/lib/Target/DirectX/DXIL.td
+437-25 files

LLVM/project 417f5bccompiler-rt/test/sanitizer_common/TestCases/Posix getpw_getgr.cpp

[NFC][sanitizer_common] Fix getpw_getgr.cpp test for large groups (#193625)

On my desktop buffer needs to be about 1MB.
DeltaFile
+13-2compiler-rt/test/sanitizer_common/TestCases/Posix/getpw_getgr.cpp
+13-21 files

LLVM/project 6fa0a86compiler-rt/test/sanitizer_common/TestCases/Posix getpw_getgr.cpp

simplify

Created using spr 1.3.7
DeltaFile
+1-4compiler-rt/test/sanitizer_common/TestCases/Posix/getpw_getgr.cpp
+1-41 files

LLVM/project 50b94b6llvm/docs AMDGPUUsage.rst, llvm/include/llvm/IR IntrinsicsAMDGPU.td

[AMDGPU] Add a sched group mask for LDSDMA instructions

The existing VMEM masks are not fine-grained enough for some use cases. For
example, if users want to control async loads, using VMEM may cause the compiler
to pick instructions it shouldn't.

This PR adds a new sched group mask for LDSDMA instructions. It is a subclass of
VMEM, but only targets isLDSDMA instructions.
DeltaFile
+342-0llvm/test/CodeGen/AMDGPU/sched-ldsdma-mask.mir
+21-21llvm/test/CodeGen/AMDGPU/sched.barrier.inverted.mask.ll
+15-7llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
+2-0llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+1-0llvm/docs/AMDGPUUsage.rst
+381-285 files

LLVM/project 779dfb8compiler-rt/test/sanitizer_common/TestCases/Posix getpw_getgr.cpp

format

Created using spr 1.3.7
DeltaFile
+1-1compiler-rt/test/sanitizer_common/TestCases/Posix/getpw_getgr.cpp
+1-11 files

LLVM/project 95aceabcompiler-rt/test/sanitizer_common/TestCases/Posix getpw_getgr.cpp

size

Created using spr 1.3.7
DeltaFile
+1-1compiler-rt/test/sanitizer_common/TestCases/Posix/getpw_getgr.cpp
+1-11 files

LLVM/project 79c85c8compiler-rt/test/sanitizer_common/TestCases/Posix getpw_getgr.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+16-2compiler-rt/test/sanitizer_common/TestCases/Posix/getpw_getgr.cpp
+16-21 files

LLVM/project cdbb670llvm/test/Transforms/SLPVectorizer/RISCV revec-strided-store.ll

[SLP][NFC] Precommit test for strided store revectorization (#191569)
DeltaFile
+107-0llvm/test/Transforms/SLPVectorizer/RISCV/revec-strided-store.ll
+107-01 files

NetBSD/pkgsrc Re015gAmail/ssmtp/patches patch-ab patch-configure.in

   Fix build failure on Linux/musl with recent gcc
VersionDeltaFile
1.5+43-1mail/ssmtp/patches/patch-ab
1.1+13-0mail/ssmtp/patches/patch-configure.in
1.2+1-1mail/ssmtp/patches/patch-ad
+57-23 files

NetBSD/pkgsrc QduFHaUmail/ssmtp Makefile distinfo

   Fix build failure on Linux/musl with recent gcc
VersionDeltaFile
1.38+5-2mail/ssmtp/Makefile
1.11+3-4mail/ssmtp/distinfo
+8-62 files

LLVM/project 9020920clang/lib/CIR/CodeGen CIRGenCall.cpp

[CIR][NFC] Delete unnecessary errorNYI call in emitDelegateCallArg (#193608)

There was a call to errorNYI in `CIRGenFunction::emitDelegateCallArg`
when the parameter decl was a `CXXRecordDecl`. This was an artifact from
an older version of this function in classic codegen, which called
`ErrorUnsupported` for InAlloca arguments, but that handling was deleted
as part of https://reviews.llvm.org/D154007.
DeltaFile
+0-6clang/lib/CIR/CodeGen/CIRGenCall.cpp
+0-61 files

LLVM/project a5ce0fcllvm/include/llvm/Analysis TargetTransformInfoImpl.h, llvm/include/llvm/CodeGen BasicTTIImpl.h

[LV][RISCV] Add explicit LMUL controls via computeFeasibleMaxVF

Add components of maxVF and its support for scalable
vectorization. The default for unspecified RISCV is
LMUL=4 with this change, so some tests will have
the flag that controls max LMUL to extend to LMUL=8
when the request is made.
DeltaFile
+26-0llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
+7-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+3-3llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-maxbandwidth.ll
+5-0llvm/include/llvm/CodeGen/BasicTTIImpl.h
+5-0llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+5-0llvm/lib/Analysis/TargetTransformInfo.cpp
+51-34 files not shown
+59-510 files

NetBSD/pkgsrc MO3lYHTlang/fpc bootstrap.mk Makefile

   lang/fpc: Add infrastructure to bootstrap on macOS

   Does compile all the way, but still fails linking and I couldn't figure
   out yet why. Rather than throwing it all away, I guess it's better to
   commit it with BROKEN_ON_PLATFORM.
VersionDeltaFile
1.2+46-1lang/fpc/bootstrap.mk
1.2+16-1lang/fpc/Makefile
1.2+7-1lang/fpc/distinfo
+69-33 files

LLVM/project 819aabflldb/packages/Python/lldbsuite/test lldbtest.py

[lldb] Update filecheck_log to use direct input (NFC-ish) (#193618)

Pass log files as direct input to `FileCheck` via its `-input-file`
option.

I had a failing test case where the log file contains the string being
checked for, and yet `FileCheck` failed. While debugging, I noticed the
output from running `platform shell -h -- cat ...` was somehow
truncated. I have not debugged why. As soon as I saw the issue, I
figured it was best to skip all the intermediaries, and pass the log
file straight to `FileCheck`.
DeltaFile
+12-7lldb/packages/Python/lldbsuite/test/lldbtest.py
+12-71 files

FreeBSD/src 06a51a5sys/compat/linuxkpi/common/include/linux gfp.h, sys/compat/linuxkpi/common/src linux_page.c

linuxkpi: Implement __GFP_THISNODE in alloc_pages()

It indicates to `alloc_pages()` to allocate the pages from the current
NUMA domain. If it couldn't, it should not retry elsewhere and return
failure.

Reviewed by:    bz
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D56590
DeltaFile
+12-3sys/compat/linuxkpi/common/src/linux_page.c
+1-1sys/compat/linuxkpi/common/include/linux/gfp.h
+13-42 files

OpenBSD/src MI8BCf3sys/net if_pfsync.c

   pf_purge_states() may trip assert(st->timeout == PFTM_UNLINKED)
   in pf_free_state(). Once member ->timeout in pf_state structure
   reaches PFTM_UNLINKED value, then the ->timeout member must not
   not be updated. This diff reminds pfsync(4) to follow PFTM_UNLINKED
   rule too. The pfsync(4) currently may accidentally update ->timeout
   member while state is being purged, causing pf_purge_states() to
   trip the assert.

   Issue was kindly reported by Stuart Henderson.

   OK @bluhm
VersionDeltaFile
1.334+3-2sys/net/if_pfsync.c
+3-21 files

FreeBSD/src bc537e9lib/libc/string fls.c flsl.c

libc/fls*.c: use *_WIDTH macros over CHAR_BIT * sizeof(type)

Makes the code easier to understand.

MFC after:      1 week
DeltaFile
+1-1lib/libc/string/fls.c
+1-1lib/libc/string/flsl.c
+1-1lib/libc/string/flsll.c
+3-33 files

LLVM/project 2ca5abellvm/lib/Target/SPIRV SPIRVPreLegalizer.cpp SPIRVPrepareFunctions.cpp, llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly inline_asm.ll

[SPIR-V] Handle ASM with multiple outputs (#187128)

Inline ASM that writes to multiple registers is represented as a struct
returning call in LLVM IR. We did not handle this properly, as we
mutated the callsite, but did not correctly retrieve the type during
lowering to SPIR-V. Furthermore, IRTranslator tries to do some clever
things when lowering ASM, which are completely unhelpful to SPIR-V,
which merely wants to pass the original ASM through. This patch
correctly retains the IR type and cleans up the IRTranslator introduced
noise, matching how the SPIRV-LLVM Translator would handle such cases.
There is probably a cleaner reformulation of this to be had when we
rework the entire callsite mutation infra.

<!-- branch-stack-start -->

<!-- branch-stack-end -->

---------

Co-authored-by: Marcos Maronas <marcos.maronas at intel.com>
Co-authored-by: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
DeltaFile
+46-36llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+35-5llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
+35-1llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm.ll
+33-0llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+8-4llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+6-2llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
+163-481 files not shown
+166-487 files

FreeBSD/ports 51744a0converters/bibtexconv distinfo Makefile

converters/bibtexconv: Update 2.1.0 => 2.1.1

Changelog:
https://github.com/dreibh/bibtexconv/blob/bibtexconv-2.2.1/ChangeLog

Commit log:
https://github.com/dreibh/bibtexconv/compare/bibtexconv-2.1.0...bibtexconv-2.2.1

PR:             294700
Sponsored by:   UNIS Labs
DeltaFile
+3-3converters/bibtexconv/distinfo
+1-1converters/bibtexconv/Makefile
+4-42 files

FreeBSD/ports bc6365enet-mgmt/librenms distinfo Makefile

net-mgmt/librenms: Update to 26.4.1

re: https://github.com/librenms/librenms/releases/tag/26.4.1
DeltaFile
+5-5net-mgmt/librenms/distinfo
+2-2net-mgmt/librenms/Makefile
+7-72 files

LLVM/project 2c7b820lldb/include/lldb/ValueObject ValueObject.h ValueObjectConstResult.h, lldb/source/Plugins/Language/CPlusPlus GenericList.cpp

Ensure that the Synthetic children of a ValueObject are managed by their parents ClusterManager (#192561)

A very common pattern in our synthetic child providers was to make the
child ValueObject using ValueObjectConstResult::Create or some form of
the static ValueObject::CreateValueObjectFrom*** methods, and store and
hand that out as the child. Doing that creates a "root" ValueObject
whose lifecycle is not linked to the lifecycle of the ValueObject it is
a child of. And that means it is possible that either the child or the
parent could have gotten destroyed when the other ValueObject gets asked
a question about it.

For the most part this doesn't happen because there are usually enough
other shared pointer references binding the two to keep both sides
alive. But we have gotten a small but steady stream of reports for years
now of crashes where a ValueObject accesses its ClusterManager but that
has already been deleted. I've never been able to find a reproducible
case of this, but one plausible cause is that we are violating the
contract that "all the children of a ValueObject have coterminous
lifespans, enforced by the ClusterManager". So it is unsurprising that

    [31 lines not shown]
DeltaFile
+106-28lldb/include/lldb/ValueObject/ValueObject.h
+58-31lldb/source/ValueObject/ValueObject.cpp
+47-39lldb/source/ValueObject/ValueObjectConstResult.cpp
+41-16lldb/include/lldb/ValueObject/ValueObjectConstResult.h
+23-19lldb/source/Plugins/Language/ObjC/NSException.cpp
+14-14lldb/source/Plugins/Language/CPlusPlus/GenericList.cpp
+289-14734 files not shown
+437-25740 files