LLVM/project b49d10fclang/test/CodeGen/AArch64/neon subtraction.c

[CIR][test] Use global instcombine RUN line in AArch64 neon subtracti… (#207894)

Related to https://github.com/llvm/llvm-project/issues/185382

Follow-up to https://github.com/llvm/llvm-project/pull/207115

Include `instcombine` into the global LLVM RUN line and remove the
separate `LLVM-IC` prefix that only covered the narrowing-subtraction
tests in `clang/test/CodeGen/AArch64/neon/subtraction.c`.

Update LLVM CHECK to match the `instcombine` output: bitcast checks are
dropped, the inferred `nsw` flags are added on the widening subs, and
unused shuffle operands are canonicalized to `poison`.
DeltaFile
+236-287clang/test/CodeGen/AArch64/neon/subtraction.c
+236-2871 files

LLVM/project 2fc4cd3llvm/lib/Target/BPF BPFMIPeephole.cpp, llvm/test/CodeGen/BPF mov32-64-subreg-source.mir

BPF: Fix misfolding subregisters

This would end up introducing a copy between registers
with mismatched sizes previously. Defends against verifier
failures in a future change.

The actual transform here should be deleted. Optimizations should
not be trying to introduce SUBREG_TO_REG.
DeltaFile
+43-0llvm/test/CodeGen/BPF/mov32-64-subreg-source.mir
+7-4llvm/lib/Target/BPF/BPFMIPeephole.cpp
+50-42 files

LLVM/project fb26065llvm/lib/Transforms/AggressiveInstCombine AggressiveInstCombine.cpp

[AggressiveInstCombine] Factor out the common part of tryToRecognizeTableBasedCttz and tryToRecognizeTableBasedLog2. NFC (#208123)

They both start with the same GEP+load matching.

Assisted-by: Claude
DeltaFile
+55-52llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
+55-521 files

LLVM/project 411beacllvm/lib/Target/BPF BPFMIPeephole.cpp

BPF: Remove unnecessary isReg check on phi operand

These must be a register. This pass has quite a lot of
defensive code against invalid MIR that should be deleted.
DeltaFile
+0-3llvm/lib/Target/BPF/BPFMIPeephole.cpp
+0-31 files

LLVM/project 466c1c2clang/lib/CodeGen/TargetBuiltins AMDGPU.cpp, clang/test/CodeGenCUDA builtins-spirv-amdgcn.cu builtins-amdgcn.cu

[AMDGPU] Reimplement icmp and fcmp builtins using ballot (#208231)

Use `llvm.amdgcn.ballot` instead of the deprecated intrinsics
`llvm.amdgcn.icmp` and `llvm.amdgcn.fcmp`.
DeltaFile
+8-16clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
+14-8clang/test/CodeGenOpenCL/builtins-amdgcn.cl
+8-6clang/test/CodeGenCUDA/builtins-spirv-amdgcn.cu
+4-3clang/test/CodeGenCUDA/builtins-amdgcn.cu
+34-334 files

LLVM/project 7a4c856llvm/cmake/modules FindLibXml2.cmake

[cmake] FindLibXml2: fall back to xmlversion.h when pkg-config has no… (#207797)

… version

LLVM's cmake/modules/FindLibXml2.cmake uses PC_LIBXML_VERSION (from
pkg-config) as the VERSION_VAR in find_package_handle_standard_args.
When pkg-config has no libxml-2.0.pc file (e.g. when linking against a
static libxml2-pic.a that ships no .pc file), PC_LIBXML_VERSION is left
empty after pkg_check_modules fails and the >=2.8 version check reports
'Found unsuitable version ""', causing LLDB_ENABLE_LIBXML2 to be set to
FALSE.

Fix: before calling find_package_handle_standard_args, check whether
PC_LIBXML_VERSION is still empty and if so read LIBXML_DOTTED_VERSION
from the xmlversion.h header. This mirrors the version-detection logic
in the system CMake FindLibXml2 module and ensures LLDB is built with
libxml2 support on installations that use a static libxml2 without a .pc
file.
DeltaFile
+17-0llvm/cmake/modules/FindLibXml2.cmake
+17-01 files

FreeBSD/ports a6d2e68net/syncthing distinfo Makefile

net/syncthing: Update to 2.1.2

re: https://github.com/syncthing/syncthing/releases/tag/v2.1.2
DeltaFile
+3-3net/syncthing/distinfo
+1-1net/syncthing/Makefile
+4-42 files

FreeBSD/src e75fa2asys/compat/freebsd32 freebsd32_sysent.c, sys/kern init_sysent.c

Regen syscalls tables.

This catches up with 692b0ef1506ba which added CAPENABLED to
clock_nanosleep(). Curiously recent additions of the pdopenpid(2) and
pddupfd(2) were done before the cited commit, and that regen did not
included the change.

Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-1sys/kern/init_sysent.c
+1-1sys/compat/freebsd32/freebsd32_sysent.c
+2-22 files

LLVM/project e954883lldb/source/Commands CommandObjectTarget.cpp, lldb/test/API/functionalities/scripted_frame_provider/register_command_status TestFrameProviderRegisterCommandStatus.py frame_provider.py

[lldb] Fix assert when `target frame-provider register` succeeds (#208232)

`CommandObjectTargetFrameProviderRegister::DoExecute` never called
`CommandReturnObject::SetStatus()` on its success path.
`CommandObject.cpp` has a `DoExecuteStatusCheck` RAII guard that resets
the result's status to `eReturnStatusInvalid` before `DoExecute` runs,
and asserts on exit that `DoExecute` changed it.
`AppendMessage()`/`AppendMessageWithFormatv()` don't touch status
(unlike AppendError()/SetError(), which call
`SetStatus(eReturnStatusFailed)`), so on the success path the status
stayed eReturnStatusInvalid, tripping the assert.

This went unnoticed because every existing `scripted_frame_provider`
test uses `SBTarget::RegisterScriptedFrameProvider` directly, bypassing
the `target frame-provider register` command entirely. Add a regression
test that exercises the command instead.

Assisted-by: Claude

Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
DeltaFile
+39-0lldb/test/API/functionalities/scripted_frame_provider/register_command_status/TestFrameProviderRegisterCommandStatus.py
+16-0lldb/test/API/functionalities/scripted_frame_provider/register_command_status/frame_provider.py
+7-0lldb/test/API/functionalities/scripted_frame_provider/register_command_status/main.c
+2-0lldb/test/API/functionalities/scripted_frame_provider/register_command_status/Makefile
+1-0lldb/source/Commands/CommandObjectTarget.cpp
+65-05 files

LLVM/project 62cf5declang/lib/Frontend ASTConsumers.cpp

[clang] Use DynamicRecursiveASTVisitor for AST listing (#202661)

Replace `ASTDeclNodeLister`'s CRTP `RecursiveASTVisitor` with
`DynamicRecursiveASTVisitor` while keeping `ASTPrinter` and
`ASTDeclNodeLister` separate. Set `ShouldWalkTypesOfTypeLocs` to false
to
preserve the previous traversal.

In identical arm64 release builds, standalone clang shrinks by 251,840
bytes
(0.215%), stripped clang by 149,488 bytes, and `ASTConsumers.cpp.o` by
153,352
bytes; linked `__TEXT` falls by 147,456 bytes and linked fixups increase
by
1,040.

The `-ast-list` output is byte-identical on the existing clang-check
input and
`ASTConsumers.cpp` (150,918 lines); two reversed-order ten-run timing

    [6 lines not shown]
DeltaFile
+6-5clang/lib/Frontend/ASTConsumers.cpp
+6-51 files

LLVM/project 3e7a2eclibcxx/include/__algorithm pstl.h, libcxx/include/__pstl/backends default.h

[libc++][pstl] Default implementation of parallel std::find_first_of (#206328)

This PR adds a default "one-liner" implementation of parallel
`std::find_first_of` expressed as a call to `__find_if`.

The implementation is based on find_if and any_of.


Part of #99938
DeltaFile
+140-0libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/pstl.find_first_of_pred.pass.cpp
+79-46libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
+119-0libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/pstl.find_first_of.pass.cpp
+52-29libcxx/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
+48-0libcxx/include/__algorithm/pstl.h
+28-0libcxx/include/__pstl/backends/default.h
+466-756 files not shown
+509-7512 files

LLVM/project 78f5fd3llvm/lib/Target/RISCV RISCVSystemOperands.td

[RISCV] Avoid let statements in RISCVSystemOperands. NFC (#207890)

Add an optional RV32Only operand to SysReg.
Add AltSysRegName and DeprecatedSysRegName wrappers.
DeltaFile
+77-104llvm/lib/Target/RISCV/RISCVSystemOperands.td
+77-1041 files

FreeBSD/ports ccdb34cnet/realtek-re-kmod distinfo Makefile

net/realtek-re-kmod: update to latest version to fix a regression
DeltaFile
+3-3net/realtek-re-kmod/distinfo
+2-1net/realtek-re-kmod/Makefile
+5-42 files

LLVM/project a52eb98llvm/lib/Target/RISCV RISCVISelLowering.cpp

[RISCV] Fix inconsistent braces in performReverseEVLCombine. NFC (#208097)
DeltaFile
+5-4llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+5-41 files

LLVM/project ea6cf8cllvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/X86 bmi2.ll

[SelectionDAG][X86] Replace OriginalDemandedBits with DemandedBits in SimplifyDemandedBits ISD::PDEP handling. (#208104)

DemandedBits is set to all 1s if the node has multiple uses.

Fixes regression from #204144. The changed test case reverts back to the
output before that change.
DeltaFile
+4-5llvm/test/CodeGen/X86/bmi2.ll
+1-1llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+5-62 files

LLVM/project fcdae16flang/include/flang/Optimizer/Builder OpenACCIntrinsicCall.h IntrinsicCall.h, flang/lib/Lower ConvertCall.cpp

[flang][acc] Emit acc.on_device operation for acc_on_device call

It is important we recognize acc_on_device calls as they need to be
folded during compilation. Emitting this operation helps with the
recognition of the runtime call in the optimizer.
DeltaFile
+51-0flang/lib/Optimizer/Builder/OpenACCIntrinsicCall.cpp
+23-19flang/lib/Optimizer/Builder/IntrinsicCall.cpp
+32-0flang/include/flang/Optimizer/Builder/OpenACCIntrinsicCall.h
+5-15flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp
+15-1flang/include/flang/Optimizer/Builder/IntrinsicCall.h
+8-7flang/lib/Lower/ConvertCall.cpp
+134-424 files not shown
+144-4510 files

LLVM/project cf02cbcflang/lib/Optimizer/Builder OpenACCIntrinsicCall.cpp

simplify builder
DeltaFile
+1-4flang/lib/Optimizer/Builder/OpenACCIntrinsicCall.cpp
+1-41 files

LLVM/project 7445979mlir/test/Dialect/OpenACC ops.mlir

test
DeltaFile
+2-2mlir/test/Dialect/OpenACC/ops.mlir
+2-21 files

OpenBSD/ports RZYqcguproductivity/homebank distinfo Makefile

   Update homebank to 5.10.2
VersionDeltaFile
1.61+2-2productivity/homebank/distinfo
1.83+1-1productivity/homebank/Makefile
+3-32 files

LLVM/project d55faf2libc/config/linux/riscv entrypoints.txt, libc/src/__support/OSUtil fcntl.h

[libc] Move fcntl implementation into the syscall_wrappers layer (#207878)

linux_syscalls::fcntl called SYS_fcntl unconditionally, breaking the
riscv32 full build where only SYS_fcntl64 exists. The syscall selection
and command translation already lived in internal::fcntl, so move that
implementation into syscall_wrappers/fcntl.h, delete the legacy
OSUtil/fcntl.h and OSUtil/linux/fcntl.cpp, and port the callers (fcntl
entrypoint, file.cpp, dup2.h) to linux_syscalls::fcntl.
DeltaFile
+0-120libc/src/__support/OSUtil/linux/fcntl.cpp
+89-8libc/src/__support/OSUtil/linux/syscall_wrappers/fcntl.h
+0-27libc/src/__support/OSUtil/fcntl.h
+5-10libc/src/__support/OSUtil/linux/syscall_wrappers/dup2.h
+5-6libc/config/linux/riscv/entrypoints.txt
+5-6utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+104-1776 files not shown
+120-19112 files

LLVM/project 7e2e375llvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp, llvm/test/CodeGen/SPIRV/instructions atomic-ptr.ll

[SPIRV] Support atomic exchange of pointers (#207830)

Similar to what we do for atomic loads and stores, support pointers by
converting the exchange value to an equally-sized int, the pointer to a
pointer to that equally-sized int, and convert the result back to the
original pointer type.

This was found enabling support for SPIR-V in libc.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply at anthropic.com>

Signed-off-by: Nick Sarnie <nick.sarnie at intel.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply at anthropic.com>
DeltaFile
+65-0llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+51-0llvm/test/CodeGen/SPIRV/transcoding/atomic-load-store-exchange-unsupported.ll
+0-40llvm/test/CodeGen/SPIRV/transcoding/atomic-load-store-unsupported.ll
+16-7llvm/test/CodeGen/SPIRV/instructions/atomic-ptr.ll
+132-474 files

LLVM/project 89c6fa5llvm/test/tools/llubi inttoptr_ptrtoint_constantexpr.ll, llvm/tools/llubi/lib Context.cpp

[llubi] Add support for constant inttoptr/ptrtoint expressions (#207028)

This patch adds support for constant inttoptr/ptrtoint expressions to
unblock the running of csmith-generated programs.
The test doesn't cover all the behaviours, as they have been tested by
previous tests.

This patch treats constant inttoptr/ptrtoint expressions as if they are
executed just before the user. However, since ptrtoint exposes the
pointer provenance and inttoptr relies on the current set of exposed
provenances, it is incorrect. Imagine that we have an inttoptr in a gep
instruction and a ptrtoint in an add instruction. They can be freely
DCEd/reordered. In addition, the behaviour also depends on the
initialization order of globals. That is terrible. Nikita's proposal
also mentioned this issue but left it as an open question:
https://hackmd.io/@nikic/SJBt4mFCll#Constant-expressions

From my perspective, constant expressions are allowed to execute at any
point in the program (before their users). Moving ptrtoint forward or

    [4 lines not shown]
DeltaFile
+38-11llvm/tools/llubi/lib/Context.cpp
+49-0llvm/test/tools/llubi/inttoptr_ptrtoint_constantexpr.ll
+87-112 files

LLVM/project 9cc537bclang/include/clang/Serialization ASTReader.h ModuleFile.h, clang/lib/Serialization ASTReader.cpp

[clang][Serialization] Deduplicate loaded header-unit SLoc ranges

Header units that textually include the same large header used to consume
loaded SourceLocation address space independently, even when the serialized
file contents were identical. Importing many such header units could therefore
run out of the loaded SLoc region long before the translation unit was large in
any meaningful source sense.

Use the eager SLoc dedup metadata to share already-loaded file ranges when a
later header-unit PCM contains a matching dedupable file entry. The reader now
builds a per-module remapping from serialized local offsets to the global
SourceManager offsets actually used for the import. Fresh entries are packed
into the module's allocation, while duplicate file entries map back to the
canonical FileID and offset range from the first loaded PCM.

This changes the module-loading model from a single base-offset translation
for every loaded location to a segmented translation for PCMs that participate
in deduplication. Modules without dedup metadata keep the existing single-add
fast path. The SourceManager loaded-entry table only receives slots for entries

    [6 lines not shown]
DeltaFile
+734-622clang/lib/Serialization/ASTReader.cpp
+96-58clang/include/clang/Serialization/ASTReader.h
+85-0clang/test/Modules/cxx20-hu-sloc-dedup.cpp
+17-5clang/include/clang/Serialization/ModuleFile.h
+932-6854 files

LLVM/project 44ef5f5clang/include/clang/Lex HeaderSearchOptions.h, clang/include/clang/Options Options.td

[clang][Serialization] Record SLoc dedup metadata in PCMs

Clang's loaded SourceLocation address space is finite: loaded AST files
reserve offsets from SourceManager's 32-bit loaded region. C++20 header
units make this easier to exhaust because independently-built PCMs can all
serialize SLocEntries for the same large textual include, such as a standard
library header.

This change adds the serialization-side metadata needed to recognize those
repeated file entries later. When the new cc1 flag is enabled, header-unit
PCMs now write an eager SLOC_ENTRY_DEDUP_INFO record parallel to
SOURCE_LOCATION_OFFSETS. Each serialized SLocEntry gets fixed-width metadata:
its local SLoc offset and length, an xxh3-128 content hash for dedupable file
entries, flags describing file properties that affect safe sharing, and the
input-file ID. Entries that are not currently dedupable keep zero hashes.

The record is intentionally module-kind agnostic, but emission is limited to
C++20 header units for the initial rollout. Readers cache the blob at module
load time without changing allocation behavior yet. The PCM major version is
bumped because this adds a new serialized AST record layout.
DeltaFile
+97-5clang/lib/Serialization/ASTWriter.cpp
+36-0clang/test/Modules/cxx20-hu-sloc-dedup-info.cpp
+32-0clang/include/clang/Serialization/ModuleFile.h
+14-0clang/lib/Serialization/ASTReader.cpp
+7-1clang/include/clang/Lex/HeaderSearchOptions.h
+5-0clang/include/clang/Options/Options.td
+191-61 files not shown
+195-77 files

OpenBSD/ports KhmudTqnet/ruby-grpc Makefile distinfo, net/ruby-grpc/pkg PLIST

   Update ruby-grpc to 1.82.0
VersionDeltaFile
1.11+3-2net/ruby-grpc/Makefile
1.3+4-0net/ruby-grpc/pkg/PLIST
1.9+2-2net/ruby-grpc/distinfo
+9-43 files

OpenBSD/ports y2sFZDUnet/grpc Makefile distinfo, net/grpc/patches patch-CMakeLists_txt

   Update grpc to 1.82.0
VersionDeltaFile
1.21+11-11net/grpc/Makefile
1.15+2-2net/grpc/distinfo
1.11+1-1net/grpc/patches/patch-CMakeLists_txt
+14-143 files

LLVM/project 7468b56mlir/include/mlir/Dialect/OpenACC OpenACCUtilsCG.h, mlir/lib/Dialect/OpenACC/Transforms ACCComputeLowering.cpp

[mlir][acc] Add utilities for working with acc par dims (#208120)

Add shared helpers for reading, setting, and manipulating parallel
dimensions on operations, covering both discardable and inherent
attributes.
DeltaFile
+89-0mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
+78-0mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsCG.cpp
+28-0mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
+0-17mlir/lib/Dialect/OpenACC/Transforms/ACCComputeLowering.cpp
+195-174 files

OPNSense/core f313783. AGENTS.md

Update agent guidelines in AGENTS.md

Clarified agent behavior regarding interactions and security reports.
DeltaFile
+5-2AGENTS.md
+5-21 files

LLVM/project 1538aebmlir/lib/Dialect/XeGPU/Transforms XeGPUSgToLaneDistribute.cpp, mlir/test/Dialect/XeGPU sg-to-lane-distribute-unit.mlir

[MLIR][XeGPU] Add non-splat constant distribution in SgToLane pass (#205575)
DeltaFile
+86-9mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToLaneDistribute.cpp
+85-0mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
+171-92 files

LLVM/project 38aa43fclang/lib/CodeGen BackendUtil.cpp

[Clang] Disable verifier passes by default in NewPM CodeGen (#208178)

By default, we shouldn't add expensive verifier passes to the pipeline.
This causes a substantial perf regression compared to the legacy PM.
DeltaFile
+1-0clang/lib/CodeGen/BackendUtil.cpp
+1-01 files