LLVM/project 2dcf858llvm/test/Transforms/LoopVectorize/RISCV tail-folding-bin-unary-ops-args.ll tail-folding-call-intrinsics.ll, llvm/test/Transforms/LoopVectorize/X86 masked_load_store.ll fminimumnum.ll

[LAA] Use SCEVPtrToAddr in tryToCreateDiffChecks. (#178861)

The checks created by LAA only compute a pointer difference and do not
need to capture provenance. Use SCEVPtrToAddr instead of SCEVPtrToInt
for computations.

To avoid regressions while parts of SCEV are migrated to use PtrToAddr
this adds logic to rewrite all PtrToInt to PtrToAddr if possible in the
created expressions. This is needed to avoid regressions.

Similarly, if in the original IR we have a PtrToInt, SCEVExpander tries
to re-use it if possible when expanding PtrToAddr.

Depends on https://github.com/llvm/llvm-project/pull/178727.

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

PR: https://github.com/llvm/llvm-project/pull/178861
DeltaFile
+72-72llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
+46-46llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
+36-36llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
+27-27llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
+20-20llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
+18-18llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
+219-21939 files not shown
+428-39645 files

LLVM/project 0646941libcxx/test/benchmarks GenerateInput.h, libcxx/test/benchmarks/algorithms pop_heap.bench.cpp

[libc++] Rewrite the std::pop_heap benchmark (#179911)

Testing a bunch of random types has relatively little value. This
reduces the number of benchmarks so we can run them on a regular basis.
This saves ~90 seconds when running the benchmarks.
DeltaFile
+59-0libcxx/test/benchmarks/algorithms/sorting/pop_heap.bench.cpp
+0-38libcxx/test/benchmarks/algorithms/pop_heap.bench.cpp
+15-0libcxx/test/benchmarks/GenerateInput.h
+74-383 files

LLVM/project 1d719edlibclc/clc/include/clc/math math.h, libclc/clc/lib/clspv SOURCES

[libclc] Bring back fma for clspv (#180693)

This is a partial revert of #179428
DeltaFile
+274-0libclc/clc/lib/clspv/math/clc_sw_fma.cl
+16-0libclc/opencl/lib/clspv/math/fma.cl
+11-0libclc/clc/include/clc/math/math.h
+1-0libclc/clc/lib/clspv/SOURCES
+1-0libclc/opencl/lib/clspv/SOURCES
+303-05 files

FreeBSD/ports cf03fa0games/fs2open/files af833f059cc0cfc925792e019f6c2b754c6d53c1.patch patch-cmake_toolchain-clang.cmake

games/fs2open: update to 25.0.0
DeltaFile
+0-66games/fs2open/files/af833f059cc0cfc925792e019f6c2b754c6d53c1.patch
+20-11games/fs2open/files/patch-cmake_toolchain-clang.cmake
+0-20games/fs2open/files/patch-code_graphics_opengl_gropenglopenxr.cpp
+0-18games/fs2open/files/patch-code_graphics_openxr__internal.h
+0-18games/fs2open/files/patch-code_CMakeLists.txt
+0-18games/fs2open/files/patch-code_graphics_openxr.cpp
+20-1513 files not shown
+25-1719 files

FreeBSD/ports ff00ed2. MOVED, sysutils Makefile

sysutils/android-file-transfer-qt5: Remove qt5 port

- since qt5 is being deprecated in favor qt6, remove port
- qt6 option is available in sysutils/android-file-transfer

MFH:            2026Q1
DeltaFile
+0-9sysutils/android-file-transfer-qt5/Makefile
+1-0MOVED
+0-1sysutils/Makefile
+1-103 files

LLVM/project 5f7f76cclang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver opencl-libclc.cl

Stop trying to handle -nostdlib -stdlib
DeltaFile
+3-8clang/lib/Driver/ToolChains/CommonArgs.cpp
+0-10clang/test/Driver/opencl-libclc.cl
+3-182 files

LLVM/project 6d77a23llvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp SPIRVGlobalRegistry.cpp

[SPIRV] Replace SPIRVType with SPIRVTypeInst as much as we can

Co-authored-by: Cursor <cursoragent at cursor.com>
DeltaFile
+325-322llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+203-193llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+178-167llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
+94-94llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+56-55llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
+37-31llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
+893-8629 files not shown
+988-95315 files

LLVM/project 77513e7llvm/lib/Target/SPIRV SPIRVGlobalRegistry.h SPIRVISelLowering.cpp

[SPIRV] Add a `SPIRVTypeInst` type with some guardrails (#179947)

The idea behind this PR is to propose a type that we can deploy
gradually to add some guardrails and enforce invariants in the SPIRV
backend.

The PR has 3 commits:
* A first commit where the `SPIRVTypeInst` type is proposed. It's just a
wrapper around `MachineInstr` that adds an assert to check that a
`SPIRVTypeInst` defines a register with the type register class.
* A second commit that shows how the migration could look like for a
single function.
* A third commit that motivates why: we have a `SPIRVType *TypeInst`
that never defines a type in a function whose intention looks very
confusing.
DeltaFile
+55-0llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
+8-5llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
+63-52 files

LLVM/project 78b8fdcclang/include/clang/Driver CommonArgs.h, clang/lib/Driver/ToolChains CommonArgs.cpp AMDGPU.cpp

clang/AMDGPU: Do not look for rocm device libs if environment is llvm

Introduce usage of the llvm environment type. This will be useful as
a switch to eventually stop depending on externally provided libraries,
and only take bitcode from the resource directory.

I wasn't sure how to handle the confusing mess of -no-* flags. Try
to handle them all. I'm not sure --no-offloadlib makes sense for OpenCL
since it's not really offload, but interpret it anyway. Handle
-nostdlib/-stdlib as a pair overridable
DeltaFile
+33-0clang/test/Driver/opencl-libclc.cl
+21-6clang/lib/Driver/ToolChains/CommonArgs.cpp
+11-3clang/lib/Driver/ToolChains/AMDGPU.cpp
+11-0clang/test/Driver/hip-device-libs-llvm-env.hip
+2-2libclc/CMakeLists.txt
+2-1clang/include/clang/Driver/CommonArgs.h
+80-123 files not shown
+83-129 files

LLVM/project cd719f4clang/include/clang/Driver RocmInstallationDetector.h, clang/lib/Driver/ToolChains AMDGPU.cpp

clang/AMDGPU: Remove dead code in RocmInstallationDetector

The defaulted constructor argument isn't used anywhere, so
this path is unreachable.
DeltaFile
+1-3clang/lib/Driver/ToolChains/AMDGPU.cpp
+1-2clang/include/clang/Driver/RocmInstallationDetector.h
+2-52 files

LLVM/project 7e34aaeclang/include/clang/Analysis/Scalable/Model PrivateFieldNames.def, clang/include/clang/Analysis/Scalable/Serialization SerializationFormat.h

[clang][ssaf][NFC] Refactor SerializationFormat to use macro-based field accessors (#180842)

This reduces code duplication and makes it easier to add new field
accessors.

Assisted-By: claude
DeltaFile
+1-61clang/lib/Analysis/Scalable/Serialization/SerializationFormat.cpp
+30-0clang/include/clang/Analysis/Scalable/Model/PrivateFieldNames.def
+7-22clang/include/clang/Analysis/Scalable/Serialization/SerializationFormat.h
+1-1clang/unittests/Analysis/Scalable/Registries/MockSerializationFormat.cpp
+39-844 files

LLVM/project eed35c9llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 xar.ll sve2-xar.ll

[AArch64] Avoid selecting XAR for reverse operations. (#178706)

Rotations that implement reverse operations, for example:
```c
uint64x2_t foo(uint64x2_t r) {
  return (r >> 32) | (r << 32);
}
```
Are currently lowered as XAR (when available):
```gas
foo:
  movi    v1.2d, #0000000000000000
  xar     v0.2d, v0.2d, v1.2d, #32
  ret
```
This is suboptimal as REV* instructions typically have higher throughput
than XAR and do not require the zero operand.

This patch combines half-rotations to Neon or SVE REVs so that they're
no longer selected as XAR.
DeltaFile
+100-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+93-3llvm/test/CodeGen/AArch64/xar.ll
+67-0llvm/test/CodeGen/AArch64/sve2-xar.ll
+260-33 files

LLVM/project ec18b92clang/lib/CIR/CodeGen CIRGenBuilder.h CIRGenBuiltinAArch64.cpp, clang/lib/CodeGen/TargetBuiltins ARM.cpp

[CIR][NEON] Add lowering for `vnegd_s64` and `vnegh_f16` (#180597)

Add CIR lowering support for the non-overloaded NEON intrinsics
`vnegd_s64` and `vnegh_f16`.

The associated tests are shared with the existing default codegen tests:
  * `neon-intrinsics.c` → `neon/intrinsics.c`
  * `v8.2a-fp16-intrinsics.c` → `neon/fullfp16.c`

A new test file,
  * `clang/test/CodeGen/AArch64/neon/fullfp16.c`

is introduced and is intended to eventually replace:
  * `clang/test/CodeGen/AArch64/v8.2a-fp16-intrinsics.c`

Since both intrinsics are non-overloaded, the CIR and default codegen
handling is moved to the appropriate switch statements. The previous
placement was incorrect.

This change also includes minor refactoring in `CIRGenBuilder.h` to
better group related hooks.
DeltaFile
+42-0clang/test/CodeGen/AArch64/neon/fullfp16.c
+17-0clang/lib/CIR/CodeGen/CIRGenBuilder.h
+12-2clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+11-0clang/test/CodeGen/AArch64/neon/intrinsics.c
+0-10clang/test/CodeGen/AArch64/neon-intrinsics.c
+4-4clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+86-161 files not shown
+86-237 files

FreeNAS/freenas 1d1f3ebsrc/middlewared/middlewared/plugins/container container.py

NAS-139714 / 26.0.0-BETA.1 / Validate capabilities_state keys in container create/update (#18169)

## Context

We were missing validation for capabilities state which meant that any
invalid value provided by consumer would get stored in the database even
though if it won't have any effect in usage with `nsenter` but still we
should not allow this to happen in the first place.
DeltaFile
+7-0src/middlewared/middlewared/plugins/container/container.py
+7-01 files

FreeBSD/ports 95f2169devel/go-wire distinfo Makefile, devel/go-wire/files patch-vendor_modules.txt

devel/go-wire: Update 0.6.0 => 0.7.0, take maintainership

Changelog:
https://github.com/google/wire/releases/tag/v0.7.0

PR:             292969
Approved by:    Boris Korzun <drtr0jan at yandex.ru> (former maintainer)
DeltaFile
+5-5devel/go-wire/distinfo
+0-10devel/go-wire/files/patch-vendor_modules.txt
+2-3devel/go-wire/Makefile
+7-183 files

OPNSense/core 774a51dsrc/opnsense/mvc/app/views/OPNsense/Firewall alias.volt

Firewall: Aliases - allow TTL usage on host entries, closes https://github.com/opnsense/core/issues/9767
DeltaFile
+2-1src/opnsense/mvc/app/views/OPNsense/Firewall/alias.volt
+2-11 files

LLVM/project e84659bllvm/lib/Target/RISCV RISCVISelLowering.cpp RISCVInstrInfoZvabd.td, llvm/test/CodeGen/RISCV/rvv fixed-vectors-sad.ll

[RISCV][CodeGen] Combine vwaddu+vabd(u) to vwabda(u)

Note that we only support SEW=8/16 for `vwabda(u)`.

Reviewers: topperc, lukel97, preames

Reviewed By: topperc, lukel97

Pull Request: https://github.com/llvm/llvm-project/pull/180162
DeltaFile
+44-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+14-10llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
+19-1llvm/lib/Target/RISCV/RISCVInstrInfoZvabd.td
+14-2llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+91-134 files

LLVM/project 435a162mlir/include/mlir/Dialect/LLVMIR NVVMOps.td

[MLIR][NVVM][NFC] Fix PTX builder class api (#180787)

Previously, `NVVM_PTXBuilder_Op` included `BasicPtxBuilderOpInterface`
as part of the default value of the `traits` parameter. This meant any
subclass that provided an explicit traits list would silently replace
the default and lose the interface, defeating the purpose of the base
class. Callers had to redundantly re-specify the interface.
DeltaFile
+5-5mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+5-51 files

LLVM/project 6f0b8a7llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 aarch64-vector-functions.ll accelerate-vector-functions.ll

[SLP] Use the correct calling convention for vector math routines (#180759)

When vectorising calls to math intrinsics such as llvm.pow we
correctly detect and generate calls to the corresponding vector
math variant. However, we don't pick up and use the calling
convention for the vector math function. This matters for veclibs
such as ArmPL where the aarch64_vector_pcs calling convention
can improve codegen by reducing the number of registers that
need saving across calls.
DeltaFile
+1,656-0llvm/test/Transforms/SLPVectorizer/AArch64/aarch64-vector-functions.ll
+0-1,411llvm/test/Transforms/SLPVectorizer/AArch64/accelerate-vector-functions.ll
+1-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+1,657-1,4113 files

OpenBSD/ports zO0VgsEgraphics/libjxl distinfo Makefile

   graphics/libjxl: update to 0.11.2.

   fixes CVE-2025-12474 & CVE-2026-1837
   see https://github.com/libjxl/libjxl/releases/tag/v0.11.2
VersionDeltaFile
1.9+4-4graphics/libjxl/distinfo
1.19+2-2graphics/libjxl/Makefile
+6-62 files

LLVM/project 2a0b530llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 vec-combine-dup-trunc-sext.ll

[AArch64] Eliminate XTN/SSHLL for vector splats

Combine:
  sext(duplane(insert_subvector(undef, trunc(X), 0), idx))
Into:
  duplane(X, idx)

This avoids XTN/SSHLL instruction sequences that occur when splatting
elements from boolean vectors after type legalization, which is common
when using shufflevector with comparison results.
DeltaFile
+93-0llvm/test/CodeGen/AArch64/vec-combine-dup-trunc-sext.ll
+56-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+149-02 files

LLVM/project c84ab35llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility BUILD.gn

[gn build] Port 6b7dd97b1ff9
DeltaFile
+1-0llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
+1-01 files

LLVM/project 6b7dd97lldb/source/Plugins/Process/Utility RegisterInfoPOSIX_ppc64.cpp RegisterInfoPOSIX_ppc64.h

[lldb][AIX] Added RegisterInfo file for PPC64 (#165367)

This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:

1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601

- Added register information file for PPC64 big-endian architecture
(used by AIX)
DeltaFile
+61-0lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.cpp
+31-0lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_ppc64.h
+1-0lldb/source/Plugins/Process/Utility/CMakeLists.txt
+93-03 files

LLVM/project 56eb89ellvm/test/CodeGen/RISCV/rvv fixed-vectors-sad.ll

[RISCV] Add precommit test for vwabda(u) combine



Reviewers: preames, topperc, lukel97, mshockwave, VoltrexKeyva

Reviewed By: lukel97, mshockwave, VoltrexKeyva

Pull Request: https://github.com/llvm/llvm-project/pull/180161
DeltaFile
+120-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
+120-01 files

FreeBSD/ports 9cb207fdevel/got distinfo Makefile

devel/got: update to 0.122

User-visible changes:
- make 'tog diff' indent log messages above patches for safety
DeltaFile
+3-3devel/got/distinfo
+1-1devel/got/Makefile
+4-42 files

OpenBSD/src MnZwCxausr.sbin/bgpd rde_filter.c rde_update.c

   Create rde_filter_out() to optimise filter matching

   rde_filter_match() now just uses struct filter_match data for matching
   and the peer info from struct filter_peer is only used by rde_filter().
   Outbound filters are per-peer and so the filter_peer check is done during
   configuration of the peer.  So rde_filter_out() just calls rde_filter_match().

   OK tb@
VersionDeltaFile
1.143+94-62usr.sbin/bgpd/rde_filter.c
1.193+4-4usr.sbin/bgpd/rde_update.c
1.341+4-1usr.sbin/bgpd/rde.h
+102-673 files

OpenBSD/ports LZ9fvOqgraphics/py-Pillow Makefile distinfo

   update to py3-Pillow-12.1.1
VersionDeltaFile
1.78+4-2graphics/py-Pillow/Makefile
1.47+2-2graphics/py-Pillow/distinfo
+6-42 files

LLVM/project 304c680lldb/include/lldb/Target Platform.h, lldb/source/Plugins/Architecture/Arm ArchitectureArm.cpp

[lldb] Step over non-lldb breakpoints (#174348)

Several languages support some sort of "breakpoint" function, which adds
ISA-specific instructions to generate an interrupt at runtime. However,
on some platforms, these instructions don't increment the program
counter. When LLDB sets these instructions it isn't a problem, as we
remove them before continuing, then re-add them after stepping over the
location. However, for breakpoint sequences that are part of the
inferior process, this doesn't happen - and so users might be left
unable to continue past the breakpoint without manually interfering with
the program counter.

This patch adds logic to LLDB to intercept SIGTRAPs, inspect the bytes
of the inferior at the program counter, and if the instruction looks
like a BRK or BKPT or similar, increment the pc by the size of the
instruction we found. This unifies platform behaviour (e.g. on x86_64,
LLDB debug sessions already look like this) and improves UX (in my
opinion, but I think it beats messing with stuff every break).


    [21 lines not shown]
DeltaFile
+87-61lldb/source/Target/Platform.cpp
+76-0lldb/test/API/functionalities/builtin-debugtrap/TestBuiltinDebugTrap.py
+0-71lldb/test/API/macosx/builtin-debugtrap/TestBuiltinDebugTrap.py
+42-0lldb/source/Target/StopInfo.cpp
+30-0lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp
+29-0lldb/include/lldb/Target/Platform.h
+264-13213 files not shown
+344-14719 files

OpenBSD/ports BmGsNKGdatabases/py-alembic Makefile distinfo

   update to py3-alembic-1.18.4
VersionDeltaFile
1.33+4-1databases/py-alembic/Makefile
1.24+2-2databases/py-alembic/distinfo
+6-32 files

OpenBSD/ports X9n6Y1esysutils/salt distinfo Makefile

   update to 3007.12
VersionDeltaFile
1.75+2-2sysutils/salt/distinfo
1.200+1-1sysutils/salt/Makefile
+3-32 files