LLVM/project c4962f5lldb/source/Commands CommandObjectScripting.cpp Options.td, lldb/source/Core PluginManager.cpp

[lldb/script] Add scripting extension template generator (#209647)

This patch adds a `scripting extension generate <ExtensionType>...`
command that introspects a Python extension base class and emits a
skeleton subclass with `# TODO: Implement` stubs for its abstract
methods (or, with `-a`, every method), then opens the result in an
editor.

Generated imports use `from <module> import <class>`, and the generated
`__init__` forwards its arguments to `super().__init__(...)` since every
base class relies on its constructor to set up attributes
(`self.target`, `self.process`, ...) that inherited, non-overridden
methods depend on. When the host can't open an external editor (e.g.
non-macOS), the command reports that as a message rather than an error,
since the file is already written.

To catch regressions in the generator itself instead of just checking
that a file was produced, this patch adds
`TestScriptingExtensionGenerate.py`, which generates a template for

    [4 lines not shown]
DeltaFile
+359-0lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+188-0lldb/source/Commands/CommandObjectScripting.cpp
+167-0lldb/test/API/functionalities/scripting_extension_generate/TestScriptingExtensionGenerate.py
+125-0lldb/source/Interpreter/embedded_interpreter.py
+21-9lldb/source/Core/PluginManager.cpp
+28-0lldb/source/Commands/Options.td
+888-97 files not shown
+961-1213 files

LLVM/project 2066a3fllvm/docs NVPTXUsage.md ExtendingLLVM.md

Fix issues caught during review
DeltaFile
+59-59llvm/docs/NVPTXUsage.md
+22-22llvm/docs/ExtendingLLVM.md
+5-5llvm/docs/HowToCrossCompileBuiltinsOnArm.md
+3-3llvm/docs/BigEndianNEON.md
+1-1llvm/docs/CompileCudaWithLLVM.md
+1-1llvm/docs/AArch64SME.md
+91-916 files

LLVM/project dbab045llvm/lib/Transforms/Scalar TailRecursionElimination.cpp, llvm/test/Transforms/TailCallElim disable-tail-call-elim-for-cold-calls.ll

[TailCallElim] Optionally suppress tail call elim for cold calls (#209642)

Since eliminated tail calls result in missing frames when collecting
various types of profiles, provide an option for disabling the
elimination for cold non-musttail calls. By default the new handling is
disabled.

Since the new checks require BFI to be built in more cases, I have moved
UpdateFunctionEntryCount and ForceDisableBFI (renamed to
DisableEntryCountRecompute to match the flag and description), to
actually guard the function entry count update.
DeltaFile
+105-0llvm/test/Transforms/TailCallElim/disable-tail-call-elim-for-cold-calls.ll
+73-25llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
+178-252 files

LLVM/project 3fbb037clang/cmake/modules ClangConfig.cmake.in, compiler-rt/cmake/Modules CompilerRTUtils.cmake

Adding an option to Skip LLVM and Clang exports (#209922)

Under CMake 4+, calling add_library(... SHARED IMPORTED) on a
target platform that lacks dynamic linking support triggers a fatal
error. This becomes an issue when building LLVM and runtimes for
baremetal targets like armv6m-none-eabi. This patch
adds the option "LLVM_OMIT_EXPORTS_FROM_CONFIG" in LLVM.
When used in sub builds like LLVM runtimes, it makes CMake to skip
including the LLVM and Clang exports. This mitigates the CMake 4
errors on baremetal runtimes.
DeltaFile
+7-2clang/cmake/modules/ClangConfig.cmake.in
+6-0runtimes/CMakeLists.txt
+5-0compiler-rt/cmake/Modules/CompilerRTUtils.cmake
+1-1llvm/cmake/modules/LLVMConfig.cmake.in
+19-34 files

LLVM/project 372cd15flang/include/flang/Optimizer/OpenACC/Support FIROpenACCOpsInterfaces.h, flang/lib/Optimizer/OpenACC/Support FIROpenACCOpsInterfaces.cpp

[openacc] Implicitly map external constant globals (#210408)

Hoist initializer-less constant globals out of OpenACC compute regions
so implicit data mapping handles them. This avoids unresolved device
symbols for PARAMETER arrays defined in separately compiled modules,
while retaining implicit declare for initialized constants. Add
regression coverage and a global initializer query to the OpenACC
interface.
DeltaFile
+20-12mlir/lib/Dialect/OpenACC/Transforms/ACCImplicitDeclare.cpp
+24-0mlir/test/Dialect/OpenACC/acc-implicit-declare.mlir
+5-0flang/lib/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.cpp
+5-0mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
+4-0mlir/include/mlir/Dialect/OpenACC/OpenACCOpsInterfaces.td
+1-0flang/include/flang/Optimizer/OpenACC/Support/FIROpenACCOpsInterfaces.h
+59-126 files

LLVM/project 7be5d35llvm/unittests/ADT SequenceTest.cpp

format
DeltaFile
+2-2llvm/unittests/ADT/SequenceTest.cpp
+2-21 files

LLVM/project bb45367llvm/unittests/ADT SequenceTest.cpp

Add constexpr checks
DeltaFile
+137-26llvm/unittests/ADT/SequenceTest.cpp
+137-261 files

LLVM/project 933c5adllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPUtils.cpp SLPUtils.h

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+152-24llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+4-79llvm/test/Transforms/SLPVectorizer/X86/masked-blended-loads.ll
+42-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+14-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
+212-1034 files

FreeBSD/ports d1bac54www/xcaddy distinfo Makefile

www/xcaddy: Update to 0.4.6
DeltaFile
+5-5www/xcaddy/distinfo
+1-2www/xcaddy/Makefile
+6-72 files

LLVM/project 7799874lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp ProcessGDBRemote.h, lldb/unittests/Process/gdb-remote ProcessGDBRemoteTest.cpp CMakeLists.txt

[lldb] Contribute the GDB-remote packet history to diagnostics bundles

Register a Diagnostics artifact provider from ProcessGDBRemote so a
diagnostics bundle captures the GDB-remote packet history, the same data
"process plugin packet history" prints.
DeltaFile
+103-0lldb/unittests/Process/gdb-remote/ProcessGDBRemoteTest.cpp
+19-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+4-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+1-0lldb/unittests/Process/gdb-remote/CMakeLists.txt
+127-04 files

LLVM/project 9c0a10alldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp, lldb/unittests/Process/gdb-remote ProcessGDBRemoteTest.cpp

Use timetamp
DeltaFile
+9-6lldb/unittests/Process/gdb-remote/ProcessGDBRemoteTest.cpp
+6-4lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+15-102 files

LLVM/project 5006179llvm/lib/Target/WebAssembly WebAssemblyAsmPrinter.cpp WebAssemblyCodeGenPassBuilder.cpp

formatting

Created using spr 1.3.7
DeltaFile
+15-6llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
+6-3llvm/lib/Target/WebAssembly/WebAssemblyCodeGenPassBuilder.cpp
+21-92 files

LLVM/project c1c278eclang/docs/ScalableStaticAnalysis/user-docs SourceEditGeneration.rst, clang/include/clang/Options Options.td

[clang][ssaf] Integrate source-edit-generation (#208590)

Adds the four `--ssaf-*` driver flags
(`--ssaf-source-transformation=`,
`--ssaf-global-scope-analysis-result=`, `--ssaf-src-edit-file=`,
`--ssaf-transformation-report-file=`) under `SSAF_Group`, marshalled
into `FrontendOptions`. The compilation-unit identifier flag introduced
earlier is reused. The driver forwards all four flags to `cc1`.

Adds twelve `warn_ssaf_*` diagnostics under
`-Wscalable-static-analysis-framework` (`DefaultError`) covering the
orphan-flag matrix, unknown transformation names, unknown output
formats, WPA-suite read failures, and edit/report write failures.

Adds `clang::ssaf::SourceTransformationFrontendAction` — a
`WrapperFrontendAction` that, when any source-edit flag is set,
validates the CLI as a group, loads the WPASuite from the configured
path, instantiates the named transformation, and serializes the
accumulated edits and findings through the configured formats. The

    [4 lines not shown]
DeltaFile
+256-0clang/lib/ScalableStaticAnalysis/Frontend/SourceTransformationFrontendAction.cpp
+101-0clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
+63-0clang/docs/ScalableStaticAnalysis/user-docs/SourceEditGeneration.rst
+51-0clang/test/Analysis/Scalable/source-edit-generation/cli-errors.cpp
+41-0clang/test/Analysis/Scalable/source-edit-generation/write-failure.cpp
+38-0clang/include/clang/Options/Options.td
+550-017 files not shown
+821-123 files

LLVM/project 055ab02clang/test/CodeGenCoroutines gh188230-coro-await-elidable-suspend-never-final.cpp, llvm/include/llvm/Transforms/Coroutines CoroShape.h

[Coroutines] Use destroy slot for CoroElide resume fallthrough

Fixes https://github.com/llvm/llvm-project/issues/188230

A switch coroutine with a CoroElide noalloc variant uses the frame destroy slot as a runtime discriminator: heap-allocated frames store the destroy clone, while allocation-elided frames store the cleanup clone. Its resume clone can reach a fallthrough coro.end after the final suspend.

The coroutine body can invoke a continuation before reaching that coro.end. A suspend_never continuation can complete and free its frame before control returns. When the callee frame was elided into that caller allocation, loading the destroy slot at coro.end reads freed storage, which AddressSanitizer reports as a use-after-free.

Load and cache the destroy function in the switch-resume entry block before executing the resume body, then tail-call the cached value at fallthrough coro.end. The cache retains the frame slot as the allocation discriminator without dereferencing an elided frame after the continuation returns.

Add a runnable ASan regression for the original C++ reproducer and update CoroSplit tests to require the entry load.

Assisted-By: Codex GPT 5.5
DeltaFile
+99-0clang/test/CodeGenCoroutines/gh188230-coro-await-elidable-suspend-never-final.cpp
+83-0llvm/test/Transforms/Coroutines/coro-split-resume-fallthrough-destroy-slot.ll
+46-6llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+4-1llvm/test/Transforms/Coroutines/coro-split-addrspace.ll
+4-1llvm/test/Transforms/Coroutines/coro-split-00.ll
+1-0llvm/include/llvm/Transforms/Coroutines/CoroShape.h
+237-81 files not shown
+238-87 files

LLVM/project d9e4032clang/test/CodeGenCoroutines gh188230-coro-await-elidable-suspend-never-final.cpp, llvm/include/llvm/Transforms/Coroutines CoroShape.h

[Coroutines] Cache CoroElide destroy function before resume

Fixes https://github.com/llvm/llvm-project/issues/188230

A switch coroutine with a CoroElide noalloc variant uses the frame destroy slot as a runtime discriminator: heap-allocated frames store the destroy clone, while allocation-elided frames store the cleanup clone. Its resume clone can reach a fallthrough coro.end after the final suspend.

The coroutine body can invoke a continuation before reaching that coro.end. A suspend_never continuation can complete and free its frame before control returns. When the callee frame was elided into that caller allocation, loading the destroy slot at coro.end reads freed storage, which AddressSanitizer reports as a use-after-free.

Load and cache the destroy function in the switch-resume entry block before executing the resume body, then tail-call the cached value at fallthrough coro.end. The cache retains the frame slot as the allocation discriminator without dereferencing an elided frame after the continuation returns.

Add a runnable ASan regression for the original C++ reproducer and update CoroSplit tests to require the entry load.

Assisted-By: Codex GPT 5.5
DeltaFile
+99-0clang/test/CodeGenCoroutines/gh188230-coro-await-elidable-suspend-never-final.cpp
+83-0llvm/test/Transforms/Coroutines/coro-split-resume-fallthrough-destroy-slot.ll
+46-6llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+4-1llvm/test/Transforms/Coroutines/coro-split-00.ll
+4-1llvm/test/Transforms/Coroutines/coro-split-addrspace.ll
+1-0llvm/include/llvm/Transforms/Coroutines/CoroShape.h
+237-81 files not shown
+238-87 files

LLVM/project ca32262llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project c7c45ffllvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project 349e456llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project e7da919llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project 32eade7llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project 2926d18libc/src/semaphore/linux semaphore.h named_semaphore.cpp, libc/test/src/semaphore/linux semaphore_test.cpp CMakeLists.txt

[libc][semaphore] Add post and wait operations for internal semaphore (#198959)

This pr implements https://github.com/llvm/llvm-project/issues/190847,
adding the post and wait operations in posix semaphore for linux using
futex.

Particularly, 
`sem_post`:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_post.html
`sem_trywait`, `sem_wait`:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_wait.html
`sem_timedwait`, `sem_clockwait`:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/sem_clockwait.html#

The implementation is assisted by Claude Code Opus 4.7, specifically for
the unit tests generations.
DeltaFile
+124-6libc/src/semaphore/linux/semaphore.h
+126-2libc/test/src/semaphore/linux/semaphore_test.cpp
+4-6libc/src/semaphore/linux/named_semaphore.cpp
+7-1libc/src/semaphore/linux/CMakeLists.txt
+3-0libc/test/src/semaphore/linux/CMakeLists.txt
+264-155 files

LLVM/project 6f342c6llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project 4cbb64ellvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project cb9fcb1llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project 344ace7llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project 7574373llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project 7f47240llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project f606969llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project ad85c5cllvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

fix

Created using spr 1.3.7
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files

LLVM/project ecab6b6llvm/lib/Target/WebAssembly WebAssemblyExceptionInfo.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp
+1-01 files