LLVM/project 3257220lldb/include/lldb/Breakpoint BreakpointList.h Breakpoint.h, lldb/source/Breakpoint BreakpointList.cpp

[lldb] Change BreakpointList::FindBreakpointsByName to use StringRef (#205695)

It's not possible to turn a StringRef into a c-string safely without a
potential allocation. I will use this in a follow-up to remove
ConstString from BreakpointName.
DeltaFile
+3-3lldb/source/Breakpoint/BreakpointList.cpp
+1-2lldb/source/Target/Target.cpp
+1-1lldb/include/lldb/Breakpoint/BreakpointList.h
+1-1lldb/include/lldb/Breakpoint/Breakpoint.h
+6-74 files

LLVM/project 6d47d03llvm/test/CodeGen/AMDGPU rotate-add.ll

AMDGPU: Fix wrong triple in rotate-add test

This was overwritten by the command line anyway.
DeltaFile
+0-2llvm/test/CodeGen/AMDGPU/rotate-add.ll
+0-21 files

LLVM/project aa1cc2dllvm/include/llvm/ADT StringRef.h, llvm/unittests/ADT StringRefTest.cpp

[ADT] Add StringRef::nonEmptyOr (#204690)

This adds a new method to StringRef. The intended use case is for
situations when a non-empty StringRef is needed but some operation
returns an empty StringRef because of missing data or some other
exception.

This is primarily for ergonomics. I'm mainly motivated to avoid creating
a temporary StringRef in situations where a StringRef is obtained
through a long call chain. e.g.


`doAThing(my_obj.getFoo().getBar().getBaz().getStringRef().nonEmptyOr("unknown"))`

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
DeltaFile
+7-0llvm/unittests/ADT/StringRefTest.cpp
+6-0llvm/include/llvm/ADT/StringRef.h
+13-02 files

LLVM/project 8987645llvm/lib/Target/BPF BTFDebug.cpp BPFAbstractMemberAccess.cpp, llvm/test/CodeGen/BPF/BTF struct-member-order.ll

[BPF] Sort BTF struct members by offset (#205396)

Sort BTF structure elements by their debug offsets. Prevent
source-ordered Rust debug metadata from producing descending member
offsets after rustc chooses a different physical layout, because the
kernel rejects such BTF.

Use the sorted order for member emission, declaration-tag component
indexes, and CO-RE access strings. Keep physical offset calculations on
the original debug indexes so changing BTF order does not change
generated code.

Eliminate the need for the bpf-linker metadata rewrite by enforcing the
ordering in the LLVM BPF backend:

https://github.com/aya-rs/bpf-linker/commit/1007ec7fed03562eb7d08f3e7521094a7e698b95
DeltaFile
+104-0llvm/test/CodeGen/BPF/CORE/struct-member-order.ll
+45-0llvm/test/CodeGen/BPF/BTF/struct-member-order.ll
+16-6llvm/lib/Target/BPF/BTFDebug.cpp
+18-2llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
+15-0llvm/lib/Target/BPF/BPFCORE.h
+4-2llvm/lib/Target/BPF/BTFDebug.h
+202-106 files

LLVM/project 617e2a1llvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange transform-stop-partway.ll pr57148.ll

[LoopInterchange] Prevent the transformation stage from stopping partway
DeltaFile
+19-38llvm/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
+86-1073 files not shown
+100-1159 files

LLVM/project 3d373b0clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat JSONFormatImpl.cpp, clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat JSONFormatImpl.cpp

Merge branch 'main' into users/kparzysz/c01-clause-check
DeltaFile
+1,443-0clang/unittests/ScalableStaticAnalysis/Analyses/PointerFlow/PointerFlowTest.cpp
+0-1,443clang/unittests/ScalableStaticAnalysisFramework/Analyses/PointerFlow/PointerFlowTest.cpp
+0-1,380clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
+1,380-0clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
+1,171-0libcxx/test/std/text/text_encoding/test_text_encoding.h
+1,094-0flang/test/Lower/OpenMP/compound.f90
+5,088-2,8231,328 files not shown
+48,768-32,1681,334 files

LLVM/project b7c56b5llvm/lib/Target/NVPTX NVPTXAddressFolder.cpp NVPTXInstrInfo.td, llvm/test/CodeGen/NVPTX address-folder.ll address-folder.mir

Revert "[NVPTX] Fold symbol addresses into memory operands" (#205852)

Reverts llvm/llvm-project#202379

check-llvm now fails on one of the new testcases
```
Failed Tests (1):
  LLVM :: CodeGen/NVPTX/address-folder.ll
```
DeltaFile
+0-123llvm/lib/Target/NVPTX/NVPTXAddressFolder.cpp
+0-113llvm/test/CodeGen/NVPTX/address-folder.ll
+0-60llvm/test/CodeGen/NVPTX/address-folder.mir
+2-2llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+0-3llvm/lib/Target/NVPTX/NVPTX.h
+0-3llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+2-3044 files not shown
+2-30910 files

FreeBSD/ports 4714f48dns/getdns Makefile

dns/getdns: Fix missing rc script

- Bump PORTREVISION

PR:             296280
Reported by:    Hannes <hannes_11 at fantasymail.de>
DeltaFile
+2-1dns/getdns/Makefile
+2-11 files

FreeNAS/freenas 1b60c7asrc/middlewared/middlewared/plugins failover.py, src/middlewared/middlewared/plugins/failover_ event.py stcnith.py

NAS-141531 / 27.0.0-BETA.1 / more zpool status checks in failover (by yocalebo) (by bugclerk) (#19206)

These changes make the standby transition fail closed so a controller
never releases its disks while a pool might still be imported.

When a controller demotes to standby it exports its pools and then stops
fencing to make the disks available to the other controller. The old
code exported each pool on a best effort basis and skipped any pool that
reported a status of OFFLINE. In rare cases a pool can report OFFLINE
while it is in fact still imported, so the old code could stop fencing
and release the disks while a pool was still attached. That is a fail
open scenario because the other controller could then import the same
pool at the same time, which can lead to data corruption.

The new code attempts to export every pool and then confirms the outcome
before releasing fencing. It checks each pool again using a lockless
read of the kernel kstat namespace, which reflects whether a pool is
actually present rather than what state it reports. If any pool is still
imported, or the export is still running past its timeout, or the import

    [21 lines not shown]
DeltaFile
+66-27src/middlewared/middlewared/plugins/failover_/event.py
+82-0src/middlewared/middlewared/pytest/unit/plugins/test_failover_event_failclosed.py
+43-0src/middlewared/middlewared/plugins/failover_/stcnith.py
+2-14src/middlewared/middlewared/plugins/failover.py
+2-11src/middlewared/middlewared/scripts/ha_panic.py
+195-525 files

LLVM/project 2de5eb4offload/test/offloading xteam_min_reduction_partial_wave.c, openmp/device/src Reduction.cpp

[offload][OpenMP] Fix partial warp reduction

Don't use a full warp for the final cross-team reduction if the
reduction's thread limit is below the warp size.

Claude assisted with the test.
DeltaFile
+41-0offload/test/offloading/xteam_min_reduction_partial_wave.c
+1-1openmp/device/src/Reduction.cpp
+42-12 files

LLVM/project f3cb7bbllvm/benchmarks ImmutableSetIteratorBM.cpp CMakeLists.txt, llvm/include/llvm/ADT ImmutableSet.h

[ADT] Rewrite ImmutableSet/Map in-order iterator without per-node state (#205552)

ImutAVLTreeInOrderIterator was layered on a "generic" iterator whose
stack stored a 2-bit visit-state (None/Left/Right) packed into the low
bits of each node pointer, and which was spun through several
intermediate states per in-order step.

Replace it with a single iterator that keeps a stack of plain node
pointers (the root-to-current ancestor chain) and recovers the traversal
direction by inspecting whether it is ascending from a node's left or
right child. A node's parent cannot be cached in the node itself because
these trees are persistent and structurally shared (one node may be a
child of different parents across tree versions), so the ancestor stack
is the per-traversal parent chain.

The observable contract is unchanged: same in-order sequence, same
skipSubTree() semantics (so tree canonicalization via isEqual is
unaffected), and the iterator stays bidirectional. operator== now
compares the current node rather than the whole path, which is O(1) and

    [21 lines not shown]
DeltaFile
+87-142llvm/include/llvm/ADT/ImmutableSet.h
+187-0llvm/unittests/ADT/ImmutableSetTest.cpp
+121-0llvm/benchmarks/ImmutableSetIteratorBM.cpp
+1-0llvm/benchmarks/CMakeLists.txt
+396-1424 files

OpenBSD/ports 5X2ef52astro/stellarium Makefile distinfo, astro/stellarium/pkg PLIST

   Update to stellarium-26.2.
VersionDeltaFile
1.67+101-35astro/stellarium/pkg/PLIST
1.115+3-2astro/stellarium/Makefile
1.68+2-2astro/stellarium/distinfo
+106-393 files

LLVM/project e87160elldb/source/Plugins/SymbolFile/DWARF DWARFASTParserClang.cpp

[lldb] Fix DWARFASTParserClang formatting (#205857)

In #205701, I applied Michael's suggestion and enabled auto-merge.
Despite the formatter check failing, the change still got merged. Fix
the formatting and another inconsistency in the use of braces.
DeltaFile
+8-7lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+8-71 files

OpenBSD/ports qbkqsvKsysutils/exoscale-cli distinfo Makefile

   Update to exoscale-cli-1.95.3.
VersionDeltaFile
1.150+2-2sysutils/exoscale-cli/distinfo
1.153+1-1sysutils/exoscale-cli/Makefile
+3-32 files

LLVM/project a83dd60llvm/include/llvm/Target TargetLoweringObjectFile.h, llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp

Revert "[x86] Handle implicit sections when determining if a global is large …"

This reverts commit f4a149172b51165487b71144c3fd7275da1809a1.
DeltaFile
+0-134llvm/test/CodeGen/X86/large-implicit-section.ll
+24-5llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+8-14llvm/lib/Target/TargetMachine.cpp
+0-19llvm/lib/Target/TargetLoweringObjectFile.cpp
+0-5llvm/include/llvm/Target/TargetLoweringObjectFile.h
+32-1775 files

LLVM/project 469e3e8llvm/lib/Transforms/Scalar LoopInterchange.cpp, llvm/test/Transforms/LoopInterchange transform-stop-partway.ll

[LoopInterchange] Add test for IR modification stops partway (#205562)

The transform phase in LoopInterchange, which actually modifies the
input IR, has several early exits. This means that if the process hits
one of them, the end result may be IR that has been left in a partially
modified state. As far as I have searched, there is only one case that
actually triggers an early exit. In that case, the final output happens
to be valid IR (though not interchanged), so I believe this is not a
correctness issue at the moment. However, the current implementation is
clearly undesirable, especially because the loop is regarded as
interchanged internally even though the transformation actually failed.
We should eliminate all such early exits.

This patch adds a test that I could find, and also adds a debug output
to make it clear which one is triggered.

Assisted-by: Claude Code
DeltaFile
+89-0llvm/test/Transforms/LoopInterchange/transform-stop-partway.ll
+6-1llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+95-12 files

Linux/linux a142da0block blk-cgroup.c bfq-cgroup.c, drivers/md raid5.c raid1.c

Merge tag 'block-7.2-20260625' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull block fixes from Jens Axboe:

 - blk-cgroup locking rework and fixes:
      - fix a use-after-free in __blkcg_rstat_flush()
      - defer freeing policy data until after an RCU grace period
      - defer the blkcg css_put until the blkg is unlinked from
        the queue
      - unwind the queue_lock nesting under RCU / blkcg->lock
        across the lookup, create, associate and destroy paths

 - NVMe fixes via Keith:
      - Fix a crash and memory leak during invalid cdev teardown,
        and related cdev cleanups (Maurizio, John)
      - nvmet fixes: handle TCP_CLOSING in the tcp state_change
        handler, reject short AUTH_RECEIVE buffers, handle inline
        data with a nonzero offset in rdma, fix an sq refcount leak,
        and allocate ana_state with the port (Maurizio, Michael,

    [54 lines not shown]
DeltaFile
+112-84block/blk-cgroup.c
+82-49drivers/md/raid5.c
+58-41drivers/md/raid1.c
+30-15drivers/nvme/host/core.c
+25-5block/bfq-cgroup.c
+20-8drivers/md/raid10.c
+327-20235 files not shown
+519-31641 files

FreeBSD/ports 78eea88cad/openscad-devel distinfo Makefile.git_rev

cad/openscad-devel: Update to 2026.06.21
DeltaFile
+9-9cad/openscad-devel/distinfo
+5-5cad/openscad-devel/Makefile.git_rev
+1-1cad/openscad-devel/Makefile
+15-153 files

OpenBSD/ports Np63YL2sysutils/amazon-ssm-agent distinfo Makefile, sysutils/amazon-ssm-agent/patches patch-agent_ssm_service_go

   Update to amazon-ssm-agent-3.3.4793.0.
VersionDeltaFile
1.172+2-2sysutils/amazon-ssm-agent/distinfo
1.186+1-1sysutils/amazon-ssm-agent/Makefile
1.16+1-1sysutils/amazon-ssm-agent/patches/patch-agent_ssm_service_go
+4-43 files

Linux/linux c58ddacinclude/linux io_uring_types.h, io_uring register.c tw.c

Merge tag 'io_uring-7.2-20260625' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring fixes from Jens Axboe:

 - Fix a file reference leak in the nop opcode when used with
   IOSQE_FIXED_FILE

 - Preserve the SQ array entries when resizing the ring via the register
   path

 - Preserve the partial result for an iopoll request rather than
   overwriting it

 - Don't audit log IORING_OP_RECV_ZC

 - Bound io_pin_pages() by the page array byte size in the memmap path

 - Follow-up cleanup to the task_work mpscq conversion, getting rid of
   the now-unnecessary tw_pending tracking for the !DEFER_TASKRUN path

    [11 lines not shown]
DeltaFile
+24-13io_uring/register.c
+9-12io_uring/tw.c
+6-6io_uring/rw.c
+9-0io_uring/mpscq.h
+4-4io_uring/nop.c
+0-2include/linux/io_uring_types.h
+52-372 files not shown
+54-388 files

LLVM/project 0ffb729llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp

Fix typo.
DeltaFile
+1-1llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+1-11 files

OpenZFS/src e720a4ainclude zfs_crrd.h, module/zfs zfs_crrd.c

Constify some rrd_*() functions

These don't modify the db, so just constify them while we're in the
area.

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Longros <chris.longros at gmail.com>
Signed-off-by: Kyle Evans <kevans at FreeBSD.org>
DeltaFile
+3-3include/zfs_crrd.h
+3-3module/zfs/zfs_crrd.c
+6-62 files

OpenZFS/src bc9ec31include zfs_crrd.h, module/zfs zfs_crrd.c

Add dbrrd_latest_time() to grab the latest timestamp in the db

Returns 0 if the database is empty, otherwise it returns the highest
value of the minutely db.  dbrrd_add() will already enforce the property
that these are monotonically increasing, so we won't try to second-guess
it.

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Longros <chris.longros at gmail.com>
Signed-off-by: Kyle Evans <kevans at FreeBSD.org>
DeltaFile
+16-0module/zfs/zfs_crrd.c
+1-0include/zfs_crrd.h
+17-02 files

OpenZFS/src fff9a0fmodule/os/freebsd/zfs zfs_vfsops.c

freebsd: set mnt_time on the rootfs at mountroot time

FreeBSD's vfs_mountroot() will collect `mnt_time` from every filesystem
that we mounted and use the highest timestamp as a source for the system
time if we didn't get anything from an attached RTC.

Use the rrd mechanism added to gather up a notion of the latest time
and set it on mnt_time.  If the timestamp db is empty, we just fallback
to the uberblock timestamp and hope that that is in the right ballpark.

Relevant: FreeBSD PR254058[0] reporting the problem downstream

[0] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254058

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Chris Longros <chris.longros at gmail.com>
Signed-off-by: Kyle Evans <kevans at FreeBSD.org>
DeltaFile
+7-1module/os/freebsd/zfs/zfs_vfsops.c
+7-11 files

OpenBSD/ports SG8lJujx11/gnome/control-center distinfo Makefile, x11/gnome/control-center/pkg PLIST

   Update to gnome-control-center-49.8.
VersionDeltaFile
1.82+2-2x11/gnome/control-center/distinfo
1.147+1-1x11/gnome/control-center/Makefile
1.38+1-0x11/gnome/control-center/pkg/PLIST
+4-33 files

OpenZFS/src a174faemodule/zfs vdev_raidz_math_aarch64_neon_common.h

Fix aarch64 build failure by removing earlyclobber (#18532)

The UVR macros used "+&w" (read-write + earlyclobber) as the
constraint for NEON register operands that are declared as explicit
hard-register variables via:

register unsigned char wN asm("vN") __attribute__((vector_size(16)));

The + modifier implicitly makes the operand also an input (reading the
register before the asm runs). The & (earlyclobber) modifier says "this
output may be written before all inputs are consumed." Having an
earlyclobber output on the same hard-register that is simultaneously
an input is a contradiction — GCC 16 now strictly diagnoses this.

The fix removes the & from "+&w", yielding "+w". The earlyclobber
was both incorrect (contradicts the implicit input) and unnecessary
(the physical registers are already hard-bound, so the compiler has no
freedom to assign conflicting registers anyway).


    [7 lines not shown]
DeltaFile
+9-9module/zfs/vdev_raidz_math_aarch64_neon_common.h
+9-91 files

LLVM/project 5771636libc/docs/dev builtin_compatibility.rst, llvm/test/CodeGen/AArch64 sve2-fixed-length-sra.ll

Merge branch 'main' into users/c8ef/atomic_minmax
DeltaFile
+832-0llvm/test/CodeGen/AArch64/sve2-fixed-length-sra.ll
+378-378llvm/test/tools/llvm-mca/AArch64/Cortex/A510-writeback.s
+354-354llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
+214-347llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
+243-302llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
+351-0libc/docs/dev/builtin_compatibility.rst
+2,372-1,381235 files not shown
+8,127-3,971241 files

OpenBSD/src 9z14CRnusr.sbin/vmd mc146818.c

   vmd(8): reject invalid PIT periods causing UB.

   A guest can write values to Register A that results in a negative
   shift exponent when computing the resulting timer rate. Detect and
   ignore values to prevent UB from negative shift.

   Reported by Frank Denis.

   Discussed with and "go for it" from mlarkin@
VersionDeltaFile
1.32+6-2usr.sbin/vmd/mc146818.c
+6-21 files

OpenZFS/src e2b97abtests/unit test_zap.c

unit/zap: uint64 keys

Add coverage for binary uint64-array keys (ZAP_FLAG_UINT64_KEY), the key
type used by the dedup table and block reference table.  Covers the
by-dnode operations on such a ZAP: add, lookup, length, lookup_length,
update and remove.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Christos Longros <chris.longros at gmail.com>
Closes #18639
DeltaFile
+71-0tests/unit/test_zap.c
+71-01 files

LLVM/project 5e85dbclldb/source/Plugins/SymbolFile/DWARF DWARFASTParserClang.cpp, lldb/test/Shell/SymbolFile/DWARF wasm-function-display-name.yaml

[lldb] Use the source name when the linkage name is not mangled (#205701)

When a DW_TAG_subprogram has a DW_AT_linkage_name that is not actually a
mangled name and differs from DW_AT_name, lldb used the linkage name as
the function's display name. For C++ the linkage name demangles back to
the source name, but a plain symbol such as __main_argc_argv does not,
so the function showed up under its raw linkage name in backtraces,
breakpoint locations and `image lookup`, and was not findable by its
source name.

This happens on WebAssembly: wasi-libc renames `int main(int, char**)`
to its __main_argc_argv argv-passing wrapper, keeping DW_AT_name "main"
but recording DW_AT_linkage_name "__main_argc_argv".

When the linkage name has no recognized mangling scheme, use DW_AT_name
as the display name and keep the linkage name as the symbol, so lookups
by either name still resolve.
DeltaFile
+81-0lldb/test/Shell/SymbolFile/DWARF/wasm-function-display-name.yaml
+10-2lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+91-22 files