LLVM/project 19c7fdbclang/lib/CIR/CodeGen CIRGenExpr.cpp CIRGenModule.cpp, clang/test/CIR/CodeGen global-temp-dtor.cpp self-ref-temporaries.cpp

[CIR] Implement destruction of TLS and static global references (#200227)

This implements destruction of lifetime-extended reference temporaries
used to initialize TLS or static duration reference variables.

Assisted-by: Cursor / claude-opus-4.7
DeltaFile
+265-0clang/test/CIR/CodeGen/global-temp-dtor.cpp
+48-6clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+11-3clang/lib/CIR/CodeGen/CIRGenModule.cpp
+3-3clang/test/CIR/CodeGen/self-ref-temporaries.cpp
+4-2clang/lib/CIR/CodeGen/CIRGenModule.h
+2-2clang/test/CIR/CodeGenCXX/global-refs.cpp
+333-166 files

LLVM/project 45bddcaclang/lib/CIR/CodeGen CIRGenStmt.cpp CIRGenCleanup.cpp, clang/test/CIR/CodeGen switch-cleanup.cpp

[CIR] Fix insertion point tracking for switch with cleanups (#201210)

We had some problems where we would incorrectly maintain the insertion
point for switch statements that contained cleanup scopes. This resulted
in cir.scope statements without a terminator, tripping a verification
error.

This change adds a RunCleanupsScope RAII object for the switch statement
and adds a check inside popCleanup() to avoid moving the insertion point
to the point after the now-closed cleanup scope if the insertion point
had previously been somewhere other than inside the cleanup scope.

Assisted-by: Cursor / claude-opus-4.8
DeltaFile
+198-0clang/test/CIR/CodeGen/switch-cleanup.cpp
+11-5clang/lib/CIR/CodeGen/CIRGenStmt.cpp
+6-1clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
+215-63 files

LLVM/project f132e92clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/Transforms/abi-lowering coerce-record-return-larger.cir coerce-int-to-record.cir

[CIR] Coerce Direct args and returns in CallConvLowering (#195879)

Fourth PR in the split of #192119/#192124. Implements the
Direct-with-coercion path in CallConvLowering.

Every Direct argument or return whose ABI type differs from its source
type is now coerced through a store/reload roundtrip via an entry-block
alloca, mirroring classic codegen's CreateCoercedLoad/CreateCoercedStore.
The temporary alloca uses max(srcAlign, dstAlign) from the DataLayout and
is hoisted into the entry block so it composes with HoistAllocas
regardless of pipeline order. When the coerced type is larger than the
source -- e.g. a 12-byte aggregate returned as { i64, i64 } -- the slot is
sized to the larger type and accessed through a source-typed view for the
store and a destination-typed view for the load, so neither side
over-reads.

CallConvLowering is split into three phases (function-definition
coercion, call-site rewriting, and Ignore cleanup) because in-place
block-argument type changes from Direct-with-coerce otherwise confused the

    [3 lines not shown]
DeltaFile
+189-25clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+63-0clang/test/CIR/Transforms/abi-lowering/coerce-record-return-larger.cir
+57-0clang/test/CIR/Transforms/abi-lowering/coerce-int-to-record.cir
+57-0clang/test/CIR/Transforms/abi-lowering/coerce-record-to-record-via-memory.cir
+56-0clang/test/CIR/Transforms/abi-lowering/coerce-record-to-int.cir
+42-0clang/test/CIR/Transforms/abi-lowering/coerce-vector-to-complex.cir
+464-253 files not shown
+486-309 files

LLVM/project 0e40e9eclang/test/OffloadTools/clang-sycl-linker basic.ll triple.ll, clang/tools/clang-sycl-linker ClangSYCLLinker.cpp

[clang-sycl-linker][test] Improve dry-run mode and tighten test coverage (#200513)

- Rework `--dry-run` in `clang-sycl-linker` so it skips all real output
    (writing bitcode, executing tools, etc.).
  - The `link:`, `sycl-module-split:`, and a new `sycl-bundle:` summary
    line are now gated on `-v` alone.
  - Tighten `sycl-bundle:` checks in `basic.ll`, `split-mode.ll`, and
    `triple.ll` to pin kind, triple, and arch (instead of just kind),
    and add `-NOT: {{.+}}` after fully-covered dry-run check groups.
  - replace the `clang-sycl-linker` + `llvm-objdump --offloading`
    round-trip with a single `--dry-run -v` invocation.
- add dedicated `non-dry-run` mode test to verify code paths not exposed
in `dry-run`.

    Assisted by Claude.
DeltaFile
+45-27clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
+22-11clang/test/OffloadTools/clang-sycl-linker/basic.ll
+6-6clang/test/OffloadTools/clang-sycl-linker/triple.ll
+6-0clang/test/OffloadTools/clang-sycl-linker/split-mode.ll
+79-444 files

LLVM/project a6745c9llvm/lib/CodeGen InlineSpiller.cpp, llvm/test/CodeGen/X86/apx memfold-origVNI-crash.ll

[X86][APX] Extend original LI to the same range as DstReg (#199182)

The #189222 folds NDD+Load to non-NDD when NDD memory variant not
preferred. However, this will changes DstReg from regular def to
early-clobber def, which causes "corrupted sub-interval" in
reMaterializeFor, because the OrigLI is not updated at the same time.

Fixes: https://godbolt.org/z/7n8ozz1EG

Assisted-by: Claude Sonnet 4.6
DeltaFile
+214-0llvm/test/CodeGen/X86/apx/memfold-origVNI-crash.ll
+14-0llvm/lib/CodeGen/InlineSpiller.cpp
+228-02 files

LLVM/project 243ddf6libc/src/__support freelist_heap.h block.h, libc/test/src/__support freelist_heap_test.cpp block_test.cpp

[libc] add shrink in-place support for reallocations (#200272)

This PR adds shrinking in-place for the freelist heap. This allows the
heap to reuse the place if the reallocation shrinks the size larger than
a minimal block unit.

Synthesized random action tests show that that increase heap utilization
rate from 87% to 97% percent, basically aligns with the expectation of
dlmalloc.

Assisted-by: AI tools, manually checked.
DeltaFile
+46-1libc/test/src/__support/freelist_heap_test.cpp
+37-3libc/src/__support/freelist_heap.h
+8-2libc/test/src/__support/block_test.cpp
+5-4libc/src/__support/block.h
+2-0libc/src/__support/freestore.h
+1-0libc/test/src/__support/CMakeLists.txt
+99-106 files

NetBSD/pkgsrc pz29JkRfilesystems/py-fuse-bindings Makefile

   filesystems/py-fuse-bindings: Clean up fuse bl3

   There was longstanding commented-out confusion about whether this
   depended on some fuse implementation or the specific standard but
   non-portable approach.  Decide that mk/fuse.buildlink3.mk is the right
   answer and just do that, without any commented-out alternatives.
VersionDeltaFile
1.28+1-6filesystems/py-fuse-bindings/Makefile
+1-61 files

NetBSD/pkgsrc Gh4Ycwrdoc CHANGES-2026

   doc: Updated filesystems/py-fuse-bindings to 1.0.9
VersionDeltaFile
1.3469+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc ZfFL6xcfilesystems/py-fuse-bindings Makefile distinfo, filesystems/py-fuse-bindings/patches patch-fuseparts___fusemodule.c

   filesystems/py-fuse-bindings: Update to 1.0.9

   Upstream's new tests fail, and I don't think that's a pkgsrc bug, but
   a test bug.

   Works with bup!

   Upstream NEWS:
     bug fixes and minor improvements
VersionDeltaFile
1.5+2-15filesystems/py-fuse-bindings/patches/patch-fuseparts___fusemodule.c
1.27+4-10filesystems/py-fuse-bindings/Makefile
1.9+5-5filesystems/py-fuse-bindings/distinfo
1.11+1-2filesystems/py-fuse-bindings/PLIST
+12-324 files

LLVM/project 678891bclang/lib/CIR/CodeGen CIRGenExprConstant.cpp CIRGenModule.h, clang/test/CIR/CodeGen compound_literal.c

[CIR] Implement lowering for const-emitted global compound literals (#201152)

This came up in a test suite as a NYI, it is just emitting a
constant-backing literal for an initializer. These are specific to C, as
global compound literals have static storage duration in C. This patch,
just like classic codgen, just creates a '.compoundliteral' object as
backing for these variables, and lets us create references to them.

---------

Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
DeltaFile
+67-0clang/test/CIR/CodeGen/compound_literal.c
+46-2clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
+12-0clang/lib/CIR/CodeGen/CIRGenModule.h
+5-1clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
+130-34 files

NetBSD/pkgsrc-wip 9ab705e. Makefile, py-llama-cpp-scripts PLIST Makefile

py-llama-cpp-scripts: Add py-llama-cpp-scripts-0.0.0.9405

Scripts that ship with llama.cpp
DeltaFile
+263-0py-llama-cpp-scripts/PLIST
+41-0py-llama-cpp-scripts/Makefile
+15-0py-llama-cpp-scripts/DESCR
+5-0py-llama-cpp-scripts/distinfo
+4-0py-llama-cpp-scripts/ALTERNATIVES
+1-0Makefile
+329-01 files not shown
+330-07 files

NetBSD/pkgsrc-wip a709a9allama.cpp PLIST Makefile, llama.cpp/patches patch-vendor_minja_minja.hpp patch-common_common.cpp

llama.cpp: Update to b9405

Lots of changes.
DeltaFile
+35-4llama.cpp/PLIST
+0-22llama.cpp/patches/patch-vendor_minja_minja.hpp
+4-13llama.cpp/Makefile
+0-13llama.cpp/TODO
+2-11llama.cpp/patches/patch-common_common.cpp
+10-0llama.cpp/Makefile.common
+51-631 files not shown
+55-687 files

NetBSD/pkgsrc-wip f2c6540llama.cpp Makefile.common, py-gguf Makefile distinfo

py-gguf: Update to b9405

Lots of changes.
DeltaFile
+5-7py-gguf/Makefile
+3-3py-gguf/distinfo
+1-0llama.cpp/Makefile.common
+9-103 files

LLVM/project 3eb13f8lldb/source/API SystemInitializerFull.cpp, lldb/source/Plugins/ScriptInterpreter/Python CMakeLists.txt

[lldb] Stop hard-linking libpython into the dynamic Python plugin (#200530)

Drops ${Python3_LIBRARIES} from the SHARED build of
lldbPluginScriptInterpreterPython and lets undefined Python symbols
through at link time (`-undefined dynamic_lookup` on Darwin,
`--allow-shlib-undefined` on Linux; Windows keeps its existing
delay-load + import lib).

SystemInitializerFull::Initialize resolves the Python runtime loader
via ScriptInterpreterRuntimeLoader::Get(eScriptLanguagePython) and
calls Load() before initializing any plugin, so libpython is mapped
into the process before either entry point that references it: the
static script interpreter's Initialize() (which invokes Python via
the LLDB_PLUGIN_INITIALIZE loop) and the dynamic plugin's dlopen
(whose undefined references resolve against the in-process
libpython). This covers both LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS
=ON and =OFF, and keeps Windows working in static builds where the
delay-load thunks live in liblldb itself. The loader is
once_flag-cached, and errors propagate out via the existing Expected

    [14 lines not shown]
DeltaFile
+20-0lldb/source/API/SystemInitializerFull.cpp
+15-2lldb/source/Plugins/ScriptInterpreter/Python/CMakeLists.txt
+11-0lldb/test/CMakeLists.txt
+46-23 files

NetBSD/pkgsrc vHCUKjXfilesystems/py-fuse-bindings PLIST Makefile, filesystems/py-fuse-bindings/patches patch-fuseparts___fusemodule.c

   filesystems/py-fuse-bindings: Adapt to python function deprecations

   convert to wheel.mk

   Now, importing fuse in python 3.13 succeeds, instead of failing with a
   missing symbol, as one would expect from the undefined name warning
   during the build.
VersionDeltaFile
1.4+15-2filesystems/py-fuse-bindings/patches/patch-fuseparts___fusemodule.c
1.10+6-4filesystems/py-fuse-bindings/PLIST
1.26+6-3filesystems/py-fuse-bindings/Makefile
1.8+2-2filesystems/py-fuse-bindings/distinfo
+29-114 files

OpenZFS/src e199f6dmodule/zfs vdev.c

Fix uninitialized variable warning in vdev_prop_get()

Update vdev_prop_get_objid() to set objid on error as the comment
in vdev_prop_get() describes.

    "objid is set to 0 when absent and the few cases that call
    zap_lookup directly guard against this below."

This resolves the following possible uninitialized variable warning.

    module/zfs/vdev.c: In function ‘vdev_prop_get’:
    module/zfs/vdev.c:6913:12: error: ‘objid’ may be used uninitialized
    in this function [-Werror=maybe-uninitialized]

Reviewed-by: Alexander Motin <alexander.motin at TrueNAS.com>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #18616
DeltaFile
+2-1module/zfs/vdev.c
+2-11 files

OpenZFS/src 0aa4088lib/libzfs libzfs_changelist.c libzfs_share.c

sharenfs: Check for invalid characters

Check for invalid characters in sharenfs/sharesmb dataset props.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tony Hutter <hutter2 at llnl.gov>
Closes #18613
DeltaFile
+12-3lib/libzfs/libzfs_changelist.c
+8-0lib/libzfs/libzfs_share.c
+20-32 files

LLVM/project 142ad48lldb/include/lldb/Host ScriptInterpreterRuntimeLoader.h, lldb/source/Host CMakeLists.txt

[lldb] Add PythonRuntimeLoader for runtime libpython lookup (NFC) (#200524)

Generalizes the Windows-only Python lookup in PythonPathSetup into a
cross-platform abstraction. Adds an abstract ScriptInterpreterRuntimeLoader
with a per-language factory. The Python implementation dynamically loads Python
library into the current process.

The loader no-ops when Python is already in the process, then walks
LLDB_PYTHON_LIBRARY env override, the build-time Python
(LLDB_PYTHON_RUNTIME_LIBRARY_BUILD_PATH) and finally a platform candidate list:

- Darwin: DEVELOPER_DIR, the bundled Xcode.app, and Command Line Tools joined
  against Python3.framework. Then python.org, /opt/homebrew, and /usr/local
  joined against Python.framework. Then xcrun -f python3 and if that fails,
  libpython3.dylib as a last resort.
- Linux: libpython3.so plus descending stable-ABI SONAMEs.
- Windows: the LLDB_PYTHON_RUNTIME_LIBRARY_FILENAME bare name (resolved via the
  loader's default search list) and the exe-relative
  LLDB_PYTHON_DLL_RELATIVE_PATH fallback (built off GetModuleFileNameW).

    [5 lines not shown]
DeltaFile
+162-0lldb/source/Host/common/PythonRuntimeLoader.cpp
+130-0lldb/source/Host/macosx/PythonRuntimeLoaderDarwin.cpp
+88-0lldb/source/Host/windows/PythonRuntimeLoaderWindows.cpp
+50-0lldb/include/lldb/Host/ScriptInterpreterRuntimeLoader.h
+41-0lldb/source/Host/CMakeLists.txt
+37-0lldb/unittests/Host/PythonRuntimeLoaderTest.cpp
+508-08 files not shown
+637-414 files

OpenBSD/ports brsLXdDgames/fna Makefile.inc, games/fna/faudio distinfo

   Update to FNA 26.06
VersionDeltaFile
1.9+2-2games/fna/fna3d/distinfo
1.9+2-2games/fna/fna/distinfo
1.9+2-2games/fna/faudio/distinfo
1.9+1-1games/fna/Makefile.inc
+7-74 files

LLVM/project d598997clang/test/OffloadTools/clang-linker-wrapper linker-wrapper-image.c, clang/tools/clang-linker-wrapper ClangLinkerWrapper.cpp

[clang-linker-wrapper] Drop SYCL dry-run stub-image special case (#201222)

Remove the `DryRun` branch in `bundleSYCL` that emitted a stub
`OffloadBinary`. SYCL goes through the same empty-buffer path as other
offload kinds, so the special case is no longer needed.

Update `linker-wrapper-image.c` to expect the resulting `[0 x i8]
zeroinitializer` constant and a size of `0` in the register/unregister
calls.

Assisted by Claude.
DeltaFile
+0-13clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+3-3clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-image.c
+3-162 files

LLVM/project 26e44e6clang/lib/CIR/CodeGen CIRGenModule.cpp, clang/test/CIR/CodeGen inline-forward-decl.c func-linkage-weak-import.c

[CIR] Set ExternalWeakLinkage on weak/weak_import function declarations (#198422)

Classic CodeGen's `SetFunctionAttributes` calls `setLinkageForGV` to force `ExternalWeakLinkage` on `__attribute__((weak))` and Darwin `weak_import` declarations.  CIR had no equivalent: weak function declarations were emitted with `ExternalLinkage` instead of `ExternalWeakLinkage`.

This adds `setLinkageForFunction` — the same weak/external-weak logic as `setLinkageForGV` — and calls it from `setFunctionAttributes`.  The underlying crash on inline forward declarations (the original motivation) is already fixed by #195257; what remains is this linkage gap.

`inline-forward-decl.c` covers `__attribute__((weak))` on an inline forward declaration; `func-linkage-weak-import.c` covers Darwin `weak_import` (→ `extern_weak` in CIR and LLVM).
DeltaFile
+25-0clang/test/CIR/CodeGen/inline-forward-decl.c
+20-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+19-0clang/test/CIR/CodeGen/func-linkage-weak-import.c
+64-03 files

LLVM/project ce46559llvm/lib/Target/NVPTX NVPTXLowerAggrCopies.cpp, llvm/test/CodeGen/NVPTX lower-aggr-copies.ll

[NVPTX] Fix aggregate load/store lowering for (potentially) overlapping copies (#201177)

NVPTXLowerAggrCopies lowers load/store pairs of large values into a loop
of smaller copies.

However, it was incorrectly assuming that the load/store pairs it found
never alias.

This patch adds an alias check.  If the pointers may alias, we emit a
memmov, which handles overlap correctly.

CUDA reproducer:

    typedef char vec __attribute__((vector_size(256)));

    __global__ void boom(char *p) {
      *(vec *)(p + 8) = *(vec *)p;
    }
DeltaFile
+118-1llvm/test/CodeGen/NVPTX/lower-aggr-copies.ll
+50-11llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
+168-122 files

FreeBSD/ports ad94b3amultimedia/webcamd Makefile distinfo, multimedia/webcamd/files webcamd.in

multimedia/webcamd: Update to last commit, set maintainer

Commit log:
https://github.com/hselasky/webcamd/compare/v5.17.1.2...5e085e4

- Allow starting with -c for loopback virtual camera.
- Update to last commit (2 small commits).
- Fix warnings from portclippy.
- Parametrize webcamd with ${PORTNAME}.
- Split long lines.

PR:             295677
Sponsored by:   UNIS Labs
Co-authored-by: Nicolas Goy <me at kuon.ch>
DeltaFile
+39-49multimedia/webcamd/Makefile
+5-1multimedia/webcamd/distinfo
+1-1multimedia/webcamd/files/webcamd.in
+45-513 files

NetBSD/pkgsrc CuWGxPtwww/chromium distinfo, www/chromium/patches patch-third__party_perfetto_src_tracing_platform__posix.cc

   chromium: fix patch
VersionDeltaFile
1.44+2-2www/chromium/distinfo
1.21+2-2www/chromium/patches/patch-third__party_perfetto_src_tracing_platform__posix.cc
+4-42 files

NetBSD/pkgsrc-wip 7deaf4bchromium distinfo, chromium/patches patch-third__party_perfetto_src_tracing_platform__posix.cc

chromium: fix patch
DeltaFile
+1-1chromium/patches/patch-third__party_perfetto_src_tracing_platform__posix.cc
+1-1chromium/distinfo
+2-22 files

LLVM/project 2a936celldb/tools/debugserver/source DNB.cpp

[lldb][debugserver] Arguments to kill(2) are reversed (#201226)

This codepath is only executed as an attempt to clean up during a failed
launch, so the reversed arguments were rarely actually used.

rdar://175507620
DeltaFile
+1-1lldb/tools/debugserver/source/DNB.cpp
+1-11 files

LLVM/project ffa93a0llvm/docs ProgrammersManual.md SourceLevelDebugging.md

[docs] Migrate 22 popular LLVM docs to MyST

This was done with LLM assistance.

I opened all 22 docs in a browser and scrolled through them, catching
and fixing a few errors.
DeltaFile
+1,998-2,301llvm/docs/ProgrammersManual.md
+1,306-1,457llvm/docs/SourceLevelDebugging.md
+1,240-1,267llvm/docs/WritingAnLLVMBackend.md
+873-1,057llvm/docs/CodeGenerator.md
+890-996llvm/docs/DeveloperPolicy.md
+851-906llvm/docs/CodingStandards.md
+7,158-7,98417 files not shown
+11,566-12,46323 files

LLVM/project c3f1474llvm/docs ProgrammersManual.md ProgrammersManual.rst

[docs] Rename 20 popular LLVM docs .rst -> .md

Update filename references, but leave the docs with reST syntax to
ensure rename detection works.

I updated filename references so that the docs build to pass premerge
checks.
DeltaFile
+4,253-0llvm/docs/ProgrammersManual.md
+0-4,253llvm/docs/ProgrammersManual.rst
+2,502-0llvm/docs/CodeGenerator.md
+0-2,502llvm/docs/CodeGenerator.rst
+2,490-0llvm/docs/SourceLevelDebugging.md
+0-2,490llvm/docs/SourceLevelDebugging.rst
+9,245-9,24548 files not shown
+23,162-23,16254 files

LLVM/project 04d9e86llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Don't expand SCEVs without uses to VPInstructions (NFC). (#201221)

If a VPExpandSCEVRecipe does not have users, there's no benefit to
expand it to VPInstructions, which then have to get cleaned up.

This also prevents DCE from removing VPInstructions pointed to by
TripCount after expansion.
DeltaFile
+1-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-11 files

LLVM/project 72a05d5lldb/test/API/python_api/run_locker TestRunLocker.py

[lldb] Have TestRunLocker run both styles of launch (#200978)

While debugging flakey behavior with TestRunLocker, I noticed that is
intended to run its test once with a stop at the entry function (and
then Continues) and once where we launch to the main() loop. But we were
never exercising the stop-at-entry codepath.

This doesn't fix the flakey behavior, although that only happens with
the launch-directly-into-main() codepath; I don't get failures when I
stop at the entry point and then continue.
DeltaFile
+25-9lldb/test/API/python_api/run_locker/TestRunLocker.py
+25-91 files