LLVM/project 87ed6c0 — llvm/lib/Target/PowerPC PPCISelLowering.cpp, llvm/test/CodeGen/PowerPC ld-splat-two-loads.ll

[PowerPC] No splat loads on multi-use through bitcast (#231147)

When lowering a vector shuffle of a load to a splatting load, we look
through bitcasts and scalar_to_vector on the input. We then check that
the input load has a single use. However, it is also important to check
that the bitcast/scalar_to_vector has a single use as a second use will
prevent the removal of the load. What's even worse than the performance
issue is that the old load will no longer be chained to what it was
chained to previously, allowing it to be moved across possible aliased
stores.

Fixes: https://github.com/llvm/llvm-project/issues/230422
DeltaFile
+20-0llvm/test/CodeGen/PowerPC/ld-splat-two-loads.ll
+14-5llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+34-52 files

LLVM/project c7afb2b — mlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM cl-ops-to-llvm.mlir

[mlir][SPIR-V] Add SPIRVToLLVM conversion for CL.clz and CL.ctz (#237851)
DeltaFile
+23-0mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+9-0mlir/test/Conversion/SPIRVToLLVM/cl-ops-to-llvm.mlir
+32-02 files

LLVM/project 579ae30 — bolt/include/bolt/Core BinaryContext.h, bolt/lib/Core BinaryContext.cpp

[BOLT] Pass the context's MCTargetOptions to createMCAsmBackend (#236594)

## Summary 

Previously BOLT passed a temporary MCTargetOptions when creating the
MCAsmBackend. The backend outlives the statement that creates it, but
the temporary is destroyed at the end of that statement. If future code
reads the stored reference (RISC-V keeps it), the reference is dangling
and the behaviour is undefined.

The llvm/llvm-project#194200 change made MCAsmInfo hold a reference to a
function-local static MCTargetOptions in createBinaryContext, so the
options outlive MCAsmInfo.
* Use the context's existing long-lived MCTargetOptions at the
createMCAsmBackend call sites as well, so they outlive the MCAsmBackend.

Also remove a backend in DWARFRewriter.cpp that was created but never
used.


    [12 lines not shown]
DeltaFile
+4-3bolt/lib/Core/BinaryContext.cpp
+0-4bolt/lib/Rewrite/DWARFRewriter.cpp
+2-2bolt/lib/Passes/AsmDump.cpp
+1-2bolt/include/bolt/Core/BinaryContext.h
+7-114 files

LLVM/project f29435b — flang/lib/Optimizer/Transforms LoopInvariantCodeMotion.cpp, flang/test/Transforms licm-modref-cache.fir

[flang] Cache in flang-licm which locations a loop may modify

Hoisting a load asks the alias analysis whether the loop may modify each
location the load reads, and the answer depends only on the loop and the
location. The loads of a loop read the same few locations over and over, so
flang-licm asked the same question many times: on a large OpenACC region 97%
of the queries of a run repeated an earlier one, and with alias analysis
implementations that are expensive to query the pass took minutes.

Cache the answers of a run, keyed by the loop and the location, in a small
LoopModifiesLocationCache that the pass owns. It is valid for the whole run
because the pass only hoists operations that have no effects or only read: it
never moves a write, so a location that is not modified in a loop does not
become modified in it. Only whether the location may be modified is used, as
before.

-debug-only=flang-licm-cache prints, for each run, how many queries were
answered from the cache and how many asked the alias analysis.
DeltaFile
+105-0flang/test/Transforms/licm-modref-cache.fir
+67-3flang/lib/Optimizer/Transforms/LoopInvariantCodeMotion.cpp
+172-32 files

LLVM/project 7d99398 — llvm/lib/Transforms/Vectorize VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize multiple-early-exits.ll early-exit-tail-folding.ll

[VPlan] Support tail folding uncountable early exits

After #237254, the MaskedHandleExitInVectorLoop early exit style uses the CFG to handle masking for early exit loops. This allows it to compose with tail folding which is also handled via the CFG in #176143.

The main thing we need to update is just to make sure the combined early exit condition is false on the lanes past the header mask.

This PR only enables tail folding for early exit loops with no side effects. Side effects will be enabled in the next PR. data-and-control-flow tail folding styles are also not handled in this PR.
DeltaFile
+86-164llvm/test/Transforms/LoopVectorize/RISCV/early-exit-live-out.ll
+73-149llvm/test/Transforms/LoopVectorize/RISCV/early-exit.ll
+54-105llvm/test/Transforms/LoopVectorize/early-exit-tail-folding.ll
+108-16llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
+19-37llvm/test/Transforms/LoopVectorize/RISCV/sink-to-early-exit.ll
+32-18llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+372-4892 files not shown
+392-4978 files

LLVM/project cc462f6 — offload/include device.h, offload/liboffload/API Device.td

[offload] Copy the kernel launch environment with a direct-write memcpy (#231923)

Claude assisted with this patch.
DeltaFile
+76-0offload/test/offloading/kernel_launch_environment.c
+19-5offload/libompaccsupport/device.cpp
+11-3offload/plugins-nextgen/amdgpu/src/rtl.cpp
+12-0offload/include/device.h
+5-0offload/plugins-nextgen/common/include/PluginInterface.h
+4-0offload/liboffload/API/Device.td
+127-82 files not shown
+131-98 files

LLVM/project c3de2d2 — llvm/include/llvm/Analysis InlineCost.h, llvm/lib/Analysis InlineAdvisor.cpp InlineCost.cpp

[Inliner] Change CalleeTTI -> CallerTTI

It makes more sense to use the caller's TTI, as this way we can query
whether the instruction can be inlined into the parent function, using
state described by the caller's TTI.

For example, for AArch64 SME where a function can be in a different mode
(streaming/non-streaming), the cost-model gives different answers based
on the TTI used.

For now, we don't expect to see any changes in behaviour as there are
currently no targets where it makes different cost/inlining-decisions
based on which TTI is used.
DeltaFile
+11-11llvm/lib/Analysis/InlineCost.cpp
+8-8llvm/lib/Analysis/InlineAdvisor.cpp
+5-5llvm/lib/Transforms/IPO/SampleProfile.cpp
+5-5llvm/include/llvm/Analysis/InlineCost.h
+4-4llvm/lib/Transforms/IPO/AlwaysInliner.cpp
+3-3llvm/lib/Transforms/IPO/PartialInlining.cpp
+36-365 files not shown
+44-4411 files

FreeBSD/ports b04f57d — devel/subversion Makefile, devel/subversion/files svnserve.in

devel/subversion: fix svnserve rc.d status/stop when SVNSERVE_WRAPPER is on

When SVNSERVE_WRAPPER is enabled (now the default), bin/svnserve is
the umask-setting wrapper, which execs straight into bin/svnserve.bin
-- same PID, but the running process image is svnserve.bin, not
svnserve. rc.subr's run_rc_command built-ins (status, stop, restart,
poll) match running processes against procname, defaulting to
command's basename when procname is unset; since command is still the
wrapper path, every one of those built-ins fails to find the actually
running daemon ("svnserve is not running" even while it is).

Set procname explicitly to the real binary path, swapping in .bin via
a new SUB_LIST token when the wrapper is active, same pattern already
used for BINS_TO_STRIP.

Co-Authored-By: Claude Sonnet 5 <noreply at anthropic.com>
Reported by:    vvd
DeltaFile
+4-0devel/subversion/Makefile
+1-0devel/subversion/files/svnserve.in
+5-02 files

LLVM/project 880b33a — mlir/lib/Dialect/Vector/IR VectorOps.cpp

[mlir][vector][contract] Add comments and rename helper hooks (NFC) (#237708)

* Renames `getDimMap` to `getDimPairForIterTy` to make its purpose
  clearer.
* Adds a `ContractionOp` argument to the updated helpers to make it
  explicit that they only apply to that op.
* Reduces code duplication.
DeltaFile
+17-15mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+17-151 files

LLVM/project db8bd61 — clang/lib/StaticAnalyzer/Checkers MallocChecker.cpp

[NFC][analyzer] Unify allocated states in MallocChecker (#236725)

Among the possible states of memory regions tracked by `MallocChecker`,
the `Allocated` and `AllocatedOfSizeZero` states were very similar, so
the expression `State.isAllocated() || State.isAllocatedOfSizeZero()`
was repeated many times in the codebase.

To make the code more readable, I renamed the `Allocated` enum value to
`AllocatedOfAnySize` and redefined `RefState::isAllocated()` to return
true for either of the two allocated states.

With this we can write `State.isAllocated()` instead of the old and
cumbersome `State.isAllocated() || State.isAllocatedOfSizeZero()`.
DeltaFile
+25-27clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
+25-271 files

LLVM/project 13f843f — llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector vector-legalization-kernel.ll unmerge-crash-1.ll, llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_untyped_pointers untyped-ptr-global-init-gep.ll

[NFC][SPIR-V] Re-enable disabled spirv-val RUN lines (#237858)
DeltaFile
+1-3llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_untyped_pointers/untyped-ptr-global-init-gep.ll
+1-2llvm/test/CodeGen/SPIRV/pointers/byte-address-buffer-load-float.ll
+1-2llvm/test/CodeGen/SPIRV/linkage/protected-visibility.ll
+1-2llvm/test/CodeGen/SPIRV/linkage/hidden-visibility.ll
+1-2llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/vector-legalization-kernel.ll
+1-2llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_long_vector/unmerge-crash-1.ll
+6-134 files not shown
+10-2010 files

OPNSense/plugins fe4a3aa — net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api EapController.php

net/freeradius: restore Eap model import in API controller (#5861)

Restore the import removed in 7f3cbdc448ce to fix model
resolution in the EAP API GET and POST actions.
DeltaFile
+3-2net/freeradius/src/opnsense/mvc/app/controllers/OPNsense/Freeradius/Api/EapController.php
+3-21 files

LLVM/project e65c9f4 — clang/lib/Sema SemaExpr.cpp, clang/test/CodeGenCXX gh56652.cpp

[Clang] Fix variable template instantiation (#237843)

We always consider undeduced specializations as NeedDefinition, despite
UsableInConstantExpr.

Fixes https://github.com/llvm/llvm-project/issues/116319
DeltaFile
+1-2clang/lib/Sema/SemaExpr.cpp
+1-0clang/test/CodeGenCXX/gh56652.cpp
+2-22 files

FreeBSD/ports 1d517f7 — textproc/py-zensical Makefile Makefile.crates

textproc/py-zensical: Update to 0.0.74

Changelogs since 0.0.71:

https://github.com/zensical/zensical/releases/tag/v0.0.74
https://github.com/zensical/zensical/releases/tag/v0.0.73
https://github.com/zensical/zensical/releases/tag/v0.0.72
https://github.com/zensical/zensical/releases/tag/v0.0.71
DeltaFile
+45-7textproc/py-zensical/distinfo
+21-2textproc/py-zensical/Makefile.crates
+3-2textproc/py-zensical/Makefile
+69-113 files

FreeBSD/ports 856b509 — textproc Makefile, textproc/py-zensical-ui pkg-descr distinfo

textproc/py-zensical-ui: New port

The zensical-ui package provides the built templates, browser assets,
and icons for Zensical.
DeltaFile
+22-0textproc/py-zensical-ui/Makefile
+3-0textproc/py-zensical-ui/distinfo
+2-0textproc/py-zensical-ui/pkg-descr
+1-0textproc/Makefile
+28-04 files

LLVM/project 0c0cb49 — clang/test/utils/update_cc_test_checks define.test, clang/test/utils/update_cc_test_checks/Inputs define.c define.c.expected

[UpdateTestChecks] Add support for (RE)DEFINE directives (#237599)

NOTE: This will be useful if we eventually want to auto-generate e.g.
CIR tests (which currently rely on this).
DeltaFile
+26-5llvm/utils/UpdateTestChecks/common.py
+27-0clang/test/utils/update_cc_test_checks/Inputs/define.c.expected
+12-0clang/test/utils/update_cc_test_checks/Inputs/define.c
+4-0clang/test/utils/update_cc_test_checks/define.test
+69-54 files

LLVM/project 699be74 — lldb/source/Expression DWARFExpression.cpp, lldb/unittests/Expression DWARFExpressionTest.cpp

[lldb] Assemble scalar DW_OP_bit_piece fragments into composites (#219383)

`DW_OP_bit_piece` currently extracts a scalar fragment in place but
leaves the source on the expression stack and never appends the fragment
to the composite piece buffer. Evaluation consequently returns the
remaining scalar instead of the assembled composite value.

Track the composite offset in bits and append eagerly materialized
pieces at bit granularity. Scalar `DW_OP_bit_piece` operations now
consume their source and contribute the extracted range to the composite
buffer, including consecutive non-byte-sized pieces and mixed
`DW_OP_piece`/`DW_OP_bit_piece` expressions.

Unit tests cover source offsets, zero extension, little- and big-endian
packing, mixed byte/bit pieces, and oversized source offsets. Empty and
address-source bit pieces retain their existing behavior and remain
outside this focused fix.

Fixes #209093
DeltaFile
+165-39lldb/source/Expression/DWARFExpression.cpp
+78-10lldb/unittests/Expression/DWARFExpressionTest.cpp
+243-492 files

FreeBSD/ports fa0c431 — www/evcc Makefile distinfo

www/evcc: update to 0.318.2

Changes:        https://github.com/evcc-io/evcc/releases
DeltaFile
+7-7www/evcc/distinfo
+2-2www/evcc/Makefile
+9-92 files

NetBSD/src ucqMIuY — usr.bin/atto window.c gap.c

   atto(1): fatal cannot take special format string arguments other than
   the initial %s for the program name. Gain some safety by not having
   callers pass a format string in the first place.

   With this, we can raise WARNS to 5.
VersionDeltaFile
1.3+9-9usr.bin/atto/menu.c
1.7+6-6usr.bin/atto/main.c
1.6+2-2usr.bin/atto/gap.c
1.4+2-2usr.bin/atto/Makefile
1.5+1-1usr.bin/atto/window.c
+20-205 files

OPNSense/tools dcf5aba — config/26.7 make.conf

config: UPNP_NOPPP is no longer a valid option
DeltaFile
+1-1config/26.7/make.conf
+1-11 files

OpenBSD/src IATmYky — lib/libcrypto/man EC_POINT_point2oct.3

   EC_POINT_point2oct.3: reword point compression

   There was a double use of 'use'. Also be a bit more explicit about the
   trade off involved.
VersionDeltaFile
1.7+7-5lib/libcrypto/man/EC_POINT_point2oct.3
+7-51 files

LLVM/project be75276 — llvm/test/Transforms/LoopVectorize early-exit-tail-folding-active-lane-mask.ll early-exit-tail-folding.ll, llvm/test/Transforms/LoopVectorize/RISCV early-exit.ll

Precommit tests
DeltaFile
+552-0llvm/test/Transforms/LoopVectorize/RISCV/early-exit.ll
+524-0llvm/test/Transforms/LoopVectorize/early-exit-tail-folding.ll
+65-0llvm/test/Transforms/LoopVectorize/early-exit-tail-folding-active-lane-mask.ll
+1,141-03 files

LLVM/project df77a87 — offload/plugins-nextgen/amdgpu/dynamic_hsa hsa.cpp hsa_ext_amd.h, offload/plugins-nextgen/amdgpu/src rtl.cpp

[offload][AMDGPU] Properly scan for available SDMA engines (#237744)

Two reasons:
(1) satisfy the documented API requirements of
hsa_amd_memory_async_copy_on_engine which say that the "client should
use hsa_amd_memory_copy_engine_status first to get the ID availability"
(2) work around device-dependent restrictions: the ROCr sources say that
"due to a RAS issue, GFX90a can only support H2D copies on SDMA0"

This patch was hand-manufactured using Neovim.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>
DeltaFile
+38-13offload/plugins-nextgen/amdgpu/src/rtl.cpp
+18-0offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
+1-0offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
+57-133 files

LLVM/project 5ef74d3 — clang/lib/CIR/Lowering/DirectToLLVM CMakeLists.txt LowerToLLVMOffloadPrintf.h

[CIR] Split offload printf lowering by target (NFC) (#237227)

Move the NVPTX and AMDGPU lowerings of cir.offload.printf into
LowerToLLVMOffloadPrintfNVPTX.cpp and
LowerToLLVMOffloadPrintfAMDGPU.cpp. LowerToLLVMOffloadPrintf.cpp keeps
the pattern, which picks the lowering for the target, and
LowerToLLVMOffloadPrintf.h declares the entry point of each.

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
DeltaFile
+3-784clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOffloadPrintf.cpp
+717-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOffloadPrintfAMDGPU.cpp
+127-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOffloadPrintfNVPTX.cpp
+47-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMOffloadPrintf.h
+2-0clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
+896-7845 files

OpenBSD/ports BCnI8d6 — net/h323plus Makefile distinfo

   SECURITY update to h323plus-1.29.1.
VersionDeltaFile
1.14+2-2net/h323plus/distinfo
1.46+1-1net/h323plus/Makefile
+3-32 files

NetBSD/src tKAAUR0 — usr.bin/atto window.c command.c

   atto(1): don't cast malloc return value
VersionDeltaFile
1.5+2-2usr.bin/atto/gap.c
1.4+1-1usr.bin/atto/window.c
1.10+1-1usr.bin/atto/command.c
1.6+1-1usr.bin/atto/buffer.c
+5-54 files

FreeBSD/ports 8bc05c1 — deskutils/crqt-ng/files patch-CMakeLists.txt

deskutils/crqt-ng: Fix building with CMake 4

Approved by:    portmgr (fixit blanket)
DeltaFile
+10-0deskutils/crqt-ng/files/patch-CMakeLists.txt
+10-01 files

LLVM/project 9f081a5 — llvm/test/CodeGen/AMDGPU memory-legalizer-global-system.ll memory-legalizer-global-agent.ll

[AMDGPU][NFC] Add memory legalizer test lines for gfx1250s (#236846)

All differences from gfx1250 are due to #235769.
DeltaFile
+7,612-3,682llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+7,188-3,478llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+4,446-2,097llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+4,386-2,069llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
+4,138-1,953llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
+32,216-15,37633 files not shown
+33,174-15,75639 files

OpenBSD/ports azHui9k — security/rust-openssl-tests Makefile crates.inc, security/rust-openssl-tests/pkg PLIST

   Update to rust-openssl-tests 20261102
VersionDeltaFile
1.156+253-122security/rust-openssl-tests/pkg/PLIST
1.216+20-16security/rust-openssl-tests/distinfo
1.178+9-7security/rust-openssl-tests/crates.inc
1.224+2-2security/rust-openssl-tests/Makefile
+284-1474 files

OpenBSD/ports CCgPd21 — graphics/openjph Makefile, graphics/openjph/patches patch-src_core_codestream_ojph_codeblock_cpp patch-src_core_codestream_ojph_codeblock_cpp

   Merge fix for CVE-2026-111151.
VersionDeltaFile
1.1.2.1+36-0graphics/openjph/patches/patch-src_core_codestream_ojph_codeblock_cpp
1.25.2.1+1-0graphics/openjph/Makefile
1.1+0-0graphics/openjph/patches/patch-src_core_codestream_ojph_codeblock_cpp
+37-03 files