LLVM/project c86f353 — mlir/docs/DefiningDialects Constraints.md, mlir/include/mlir/IR Constraints.td CommonAttrConstraints.td

[mlir][ODS] Include headers declaring used type and attribute constraints

#236155 added `cppIncludes` to traits and interfaces so that generated
declarations include the headers of the traits they use.

Extend `cppIncludes` to type and attribute constraints. It lists the C++
headers declaring the C++ classes a constraint refers to. A single header is
not always enough: e.g. `TypeAttrOf<T>` needs `BuiltinAttributes.h` and the
header of `T`. Generated op
declarations now include the headers of the constraints of their operands,
results and attributes, and generated attribute and type declarations
include the headers of attribute and type parameters.

The builtin type and attribute constraints and the builtin dialect
attributes, types and locations set their headers, as do the base classes of
dialect attributes and types.

Co-authored-by: Claude <noreply at anthropic.com>
DeltaFile
+96-0mlir/test/mlir-tblgen/constraint-cpp-includes.td
+53-13mlir/include/mlir/IR/CommonTypeConstraints.td
+28-0mlir/include/mlir/IR/CommonAttrConstraints.td
+16-2mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
+17-1mlir/include/mlir/IR/Constraints.td
+14-0mlir/docs/DefiningDialects/Constraints.md
+224-1653 files not shown
+316-2559 files

LLVM/project 0d0ed0b — offload/plugins-nextgen/common/include PluginInterface.h, offload/plugins-nextgen/common/src PluginInterface.cpp

[Offload][NFC] Plugin Interface clean-up (#240434)

Remove dead code, unnecessary headers, and fix one comment that
references the wrong routine.

Static code analysis done by Claude.
DeltaFile
+1-55offload/plugins-nextgen/common/include/PluginInterface.h
+0-10offload/plugins-nextgen/common/src/PluginInterface.cpp
+1-652 files

LLVM/project 51ce322 — llvm/lib/Target/SPIRV SPIRVCommandLine.h SPIRVSubtarget.cpp

[SPIRV] Declare command line options in TableGen (#239474)

Move the cl::opts into SPIRVOptions.td. SPIRVTargetMachine holds `const
SPIRVOptions &CLOpts`, and SPIRVSubtarget copies it.
SPIRVCtorDtorLowering and SPIRVRemoveUnusedResources have no
TargetMachine and read the LLVMContext. SPIRVFPContractMode moves to
SPIRVSubtarget.h.

-spirv-ext becomes a StringRef that SPIRVSubtarget parses, so a
malformed value is now a fatal usage error when the target machine is
created rather than an option parsing error, and the disabled extension
set moves from a static into SPIRVSubtarget.

Rename -avoid-spirv-capabilities to -spirv-avoid-capabilities,
-translator-compatibility-mode to -spirv-translator-compatibility-mode,
and -disable-spirv-remove-unused-resources to
-spirv-enable-remove-unused-resources, keeping the old spellings as
aliases.


    [2 lines not shown]
DeltaFile
+64-0llvm/lib/Target/SPIRV/SPIRVOptions.td
+10-33llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+16-19llvm/lib/Target/SPIRV/SPIRVCtorDtorLowering.cpp
+17-16llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
+15-11llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
+9-16llvm/lib/Target/SPIRV/SPIRVCommandLine.h
+131-9512 files not shown
+192-17118 files

pkgin/pkgin 8d82f02 — . summary.c pkgindb.c

pkgindb: Clear bindings after each PS.
DeltaFile
+3-3pkgindb.c
+0-2summary.c
+3-52 files

LLVM/project b5e55c9 — lldb/source/Host/macosx/objcxx Host.mm, lldb/test/API/macosx/posix_spawn arm64e.c Makefile

Revert "[lldb] Honor the arm64 subtype when launching on Darwin" (#240436)

This reverts commit 3e7841ef1d6fc5f1aa71eadfa410a781a65329c3 due to test
failures in certain configurations.

```
Failed Tests (12):
  lldb-api :: commands/platform/sdk/TestPlatformSDK.py
  lldb-api :: lang/objc/modules-auto-import/TestModulesAutoImport.py
  lldb-api :: macosx/add-dsym/TestAddDsymDownload.py
  lldb-api :: macosx/corefile-unparseable-binary/TestCorefileUnparseableBinary.py
  lldb-api :: macosx/lc-note/firmware-corefile/TestFirmwareCorefiles.py
  lldb-api :: macosx/lc-note/multiple-binary-corefile/TestMultipleBinaryCorefile.py
  lldb-api :: macosx/simulator/TestSimulatorPlatform.py
  lldb-api :: python_api/target-arch-from-module/TestTargetArchFromModule.py
  lldb-shell :: SymbolFile/add-dsym.test
  lldb-unit :: Host/./HostTests/4/21
  lldb-unit :: Host/./HostTests/5/21
  lldb-unit :: Platform/./LLDBPlatformTests/PlatformDarwinLocateTest/GetSafeAutoLoadPaths
```
DeltaFile
+16-43lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
+18-16lldb/tools/debugserver/source/MacOSX/MachProcess.mm
+1-6lldb/test/API/macosx/posix_spawn/Makefile
+0-5lldb/test/API/macosx/posix_spawn/arm64e.c
+1-2lldb/tools/debugserver/source/DNB.cpp
+1-0lldb/source/Host/macosx/objcxx/Host.mm
+37-726 files

LLVM/project 81a2a88 — clang/lib/Sema SemaOpenACC.cpp, clang/test/SemaOpenACC combined-construct.cpp

[OpenACC] Fix iterator-type lookup when kind is incomplete (#240424)

OpenACC loop needs to have a random access iterator, and does some
heroics to look into the 'iterator_category' to check for this. It ALSO
checks whether the type referred to in the iterator_category inherits
from std::random_access_iterator.

However, it was failing to make sure it was a definition before checked
for base classes, leading to an assert.

This patch adds that check, which will make a iterator category
incomplete type not attempt to check the 'base' class.

Fixes: #239962
DeltaFile
+22-0clang/test/SemaOpenACC/combined-construct.cpp
+4-3clang/lib/Sema/SemaOpenACC.cpp
+26-32 files

LLVM/project fe4d199 — llvm/lib/CodeGen SafeStack.cpp TargetLoweringBase.cpp, llvm/test/Transforms/SafeStack/ARM existing-libcall-decls.ll

SafeStack: Take libcall declarations from RuntimeLibcallsInfo

Stop declaring __stack_chk_fail and __safestack_pointer_address
manually and construct them with the correct type automatically.

A function with the variable's name is now reported as not being a
global variable, rather than a renamed copy of the variable being
inserted. -safestack-use-pointer-address now requires
__safestack_pointer_address to be available for the target, instead of
unconditionally emitting a call to it. The tests using it on
non-Android triples move to Android.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+93-0llvm/test/Transforms/SafeStack/ARM/existing-libcall-decls.ll
+36-36llvm/lib/CodeGen/TargetLoweringBase.cpp
+12-21llvm/lib/CodeGen/SafeStack.cpp
+19-0llvm/test/Transforms/SafeStack/X86/unsafe-stack-ptr-not-thread-local-error.ll
+19-0llvm/test/Transforms/SafeStack/X86/unsafe-stack-ptr-function-error.ll
+13-0llvm/test/Transforms/SafeStack/X86/pointer-address-unavailable-error.ll
+192-578 files not shown
+221-7414 files

LLVM/project a3b1e07 — llvm/include/llvm/IR RuntimeLibcalls.h, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Add helper methods to insert declarations

Add methods to get or insert the declaration of a libcall
implementation in a module with the appropriate type and
annotations. A (potentially incorrectly declared) global that already
has the name is returned unmodified

Use them in DeclareRuntimeLibcalls, which no longer merges attributes
into or replaces the calling convention of existing functions, and no
longer crashes on a global variable with the name of a libcall
function.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+4-62llvm/lib/Transforms/Utils/DeclareRuntimeLibcalls.cpp
+40-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/existing_globals.ll
+39-0llvm/lib/IR/RuntimeLibcalls.cpp
+22-0llvm/include/llvm/IR/RuntimeLibcalls.h
+0-11llvm/test/Transforms/Util/DeclareRuntimeLibcalls/merge_attributes.ll
+105-735 files

LLVM/project ecd1499 — clang/lib/CodeGen CGDebugInfo.cpp

[clang] Call getOrCreateFile() just once in AddStringLiteralDebugInfo() (#240382)

getOrCreateFile(Loc) is stored in a variable `File` 3 lines up,
so use that variable instead of calling the function again.

Mostly for code cleanliness, but for usb_ids_gen.cc (from #229808)
this is also a small (0.4%) reduction in retired instructions.

No behavior change.
DeltaFile
+2-2clang/lib/CodeGen/CGDebugInfo.cpp
+2-21 files

FreeBSD/ports 8837ddb — graphics/graphviz distinfo Makefile

graphics/graphviz: update to 16.1.1
DeltaFile
+8-7graphics/graphviz/Makefile
+3-3graphics/graphviz/distinfo
+11-102 files

LLVM/project e20fe3b — llvm/test/CodeGen/ARM bf16-instructions.ll, llvm/test/CodeGen/Thumb2 bf16-instructions.ll

[ARM] Update working abs and neg tests in bf16-instructions.ll. NFC (#240441)

These appear to already be working, with and without +bf16.
DeltaFile
+46-8llvm/test/CodeGen/ARM/bf16-instructions.ll
+0-45llvm/test/CodeGen/Thumb2/bf16-instructions.ll
+46-532 files

LLVM/project 0f6dc59 — libcxx/utils/ci/lnt machines.json

[libcxx] Switch to llvm-premerge-linux-4-runners for benchmarking (#239065)

These are smaller so take up less resources when we only run benchmarks
on a single thread and they are also c2d vs n2/n2d which means that we
get exclusive cores rather than GCP overcommit.

Fixes #236840
DeltaFile
+1-1libcxx/utils/ci/lnt/machines.json
+1-11 files

LLVM/project b2b2297 — libc/src/__support/OSUtil/linux/syscall_wrappers copy_file_range.h, libc/src/unistd copy_file_range.h

[libc] Reland "Implement copy_file_range in unistd" (#240018)

This patch relands #236914 (reverted in #238956 / commit 53d0afa56861).

### Root Cause & Fix
The revert was caused by pre-commit CI failures where
`copy_file_range_test` encountered environments lacking
`copy_file_range` syscall emulation or running on container overlay
filesystems:
- Emulators return `EFAULT` or `ENOSYS` instead of `EBADF` on invalid
descriptors with `nullptr`.
- Container overlayfs / older kernels may return `EXDEV`, `ENOSYS`, or
`EOPNOTSUPP`.

### Changes in Reland
- Update `InvalidArgs` in `copy_file_range_test.cpp` to accept
`any_of(EBADF, EFAULT, ENOSYS)`.
- Gracefully handle `ENOSYS`, `EXDEV`, and `EOPNOTSUPP` in test copy
cases.

    [4 lines not shown]
DeltaFile
+143-0libc/test/src/unistd/copy_file_range_test.cpp
+53-0libc/src/__support/OSUtil/linux/syscall_wrappers/copy_file_range.h
+39-0libc/src/unistd/linux/copy_file_range.cpp
+29-0libc/src/unistd/copy_file_range.h
+20-0libc/test/src/unistd/CMakeLists.txt
+17-0libc/src/unistd/linux/CMakeLists.txt
+301-07 files not shown
+344-513 files

FreeBSD/ports 594b8e3 — sysutils/cfengine-masterfiles-devel Makefile distinfo

sysutils/cfengine-masterfiles-devel: Update to latest GH commit
DeltaFile
+3-3sysutils/cfengine-masterfiles-devel/distinfo
+2-2sysutils/cfengine-masterfiles-devel/Makefile
+5-52 files

FreeBSD/ports 0f59425 — sysutils/cfengine Makefile, sysutils/cfengine-masterfiles Makefile

sysutils/cfengind{,-masterfiles}: Add cfengine and masterfiles 329

Add cfengine and cfengine-masterfils 3.29 to the choices. Make 329
default.
DeltaFile
+2-2sysutils/cfengine/Makefile
+2-2sysutils/cfengine-masterfiles/Makefile
+4-42 files

FreeBSD/ports 70e9fb1 — sysutils/cfengine Makefile, sysutils/cfengine-masterfiles Makefile

sysutils/cfengine{,-masterfiles}: Remove references to deleted ports
DeltaFile
+1-1sysutils/cfengine/Makefile
+1-1sysutils/cfengine-masterfiles/Makefile
+2-22 files

FreeBSD/ports 3617a8c — sysutils/cfengine-devel pkg-plist Makefile

sysutils/cfengine-devel: Update to latest GH commit

Sort plist while we're here.
DeltaFile
+3-3sysutils/cfengine-devel/distinfo
+2-2sysutils/cfengine-devel/Makefile
+1-1sysutils/cfengine-devel/pkg-plist
+6-63 files

FreeBSD/ports 4fed4e1 — sysutils/cfengine-lts Makefile, sysutils/cfengine-masterfiles-lts Makefile

sysutils/cfengine-*lts: Remove expired version

cfengine324 and its masterfiles were removed by f2fb0bf93e69.
DeltaFile
+1-1sysutils/cfengine-masterfiles-lts/Makefile
+1-1sysutils/cfengine-lts/Makefile
+2-22 files

FreeBSD/ports 0701cdb — sysutils/cfengine-masterfiles329 Makefile pkg-plist, sysutils/cfengine329 Makefile pkg-plist

sysutils/cfengine*329: Add cfengine 3.29.0 ports

Welcome sysutils/cfengine329 to ports.

Welcome sysutils/cfengine-masterfiles329 to ports.
DeltaFile
+394-0sysutils/cfengine329/pkg-plist
+91-0sysutils/cfengine-masterfiles329/pkg-plist
+69-0sysutils/cfengine329/Makefile
+29-0sysutils/cfengine-masterfiles329/Makefile
+26-0sysutils/cfengine329/files/cf-monitord.in
+26-0sysutils/cfengine329/files/cf-serverd.in
+635-07 files not shown
+695-013 files

LLVM/project 5647ca3 — clang/lib/CodeGen BackendUtil.cpp, llvm/include/llvm/Passes RunCodeGen.h

[LTO][NFC] Use runCodeGenPipeline

This abstracts across the LegacyPM and the NewPM. We add a new optional
parameter to runCodeGenPipeline to take in a ModuleSummaryIndex to
properly handle pipeline setup.

Reviewers: aengelke, teresajohnson

Pull Request: https://github.com/llvm/llvm-project/pull/240252
DeltaFile
+10-28llvm/lib/LTO/LTOBackend.cpp
+19-4llvm/lib/Passes/RunCodeGen.cpp
+5-4clang/lib/CodeGen/BackendUtil.cpp
+2-0llvm/include/llvm/Passes/RunCodeGen.h
+36-364 files

LLVM/project 042f011 — llvm/lib/LTO ThinLTOCodeGenerator.cpp

[NFC][ThinLTO] Use runCodeGenPipeline abstraction (#240226)

This makes the code slightly simpler by moving to a canonical
abstraction and also abstracts between the LegacyPM/NewPM without
additional handling specific to ThinLTO.
DeltaFile
+5-9llvm/lib/LTO/ThinLTOCodeGenerator.cpp
+5-91 files

FreeNAS/freenas 92d244b — src/middlewared/middlewared/plugins/pool_ pool.py, src/middlewared/middlewared/test/integration/assets pool.py

Properly calculate new spare partition size
DeltaFile
+34-1tests/api2/test_pool_spare.py
+22-12src/middlewared/middlewared/test/integration/assets/pool.py
+29-0src/middlewared/middlewared/plugins/pool_/pool.py
+85-133 files

FreeBSD/src 3ba68f5 — sys/arm64/arm64 pmap.c

arm64 pmap: combine L3C accessed bits in pmap_mincore()

The accessed bit may be set in only some of an L3C superpage's L3
PTEs.  However, when pmap_mincore() found an L3C mapping, it reported
the accessed state of the specified L3 PTE only, so mincore(2) could
fail to report MINCORE_REFERENCED for an L3C superpage that had been
accessed.  When the accessed bit is not set in the specified entry, use
pmap_load_l3c() to combine the accessed bits from all of the L3C
superpage's L3 PTEs.

Found by:       Claude Code (Opus 5.5)
MFC after:      1 week
DeltaFile
+10-1sys/arm64/arm64/pmap.c
+10-11 files

LLVM/project caf7fd4 — lldb/source/Core ThreadedCommunication.cpp, lldb/test/API/commands/process/detach-launched Makefile main.c

[lldb] Interrupt the read thread when stopping it

ThreadedCommunication::StopReadThread clears m_read_thread_enabled and
joins the read thread, which checks that flag only once its read
returns. When no data comes, the read returns only when it times out,
after five seconds.

Before lldb reports that a process it launched has exited or that it
detached from the process, it stops the read thread of the process's
terminal. A process that lldb detaches from usually keeps running, and
if it does not write to its terminal, the detach takes five seconds.
StopSTDIOMonitoring closes lldb's own descriptor for the secondary side
of the terminal first, but that ends the read only once the process has
closed its descriptors too. Meanwhile, debugserver or lldb-server exits,
and since the process is not detached yet, ProcessGDBRemote gives it an
exit status, so lldb reports that the process exited.

Interrupt the read after clearing the flag, as SynchronizeWithReadThread
does. A connection reports an interrupt only when no data is pending,

    [3 lines not shown]
DeltaFile
+27-0lldb/test/API/commands/process/detach-launched/TestDetachLaunched.py
+9-0lldb/test/API/commands/process/detach-launched/main.c
+5-0lldb/source/Core/ThreadedCommunication.cpp
+3-0lldb/test/API/commands/process/detach-launched/Makefile
+44-04 files

LLVM/project e5bf923 — lldb/source/Host/macosx/objcxx Host.mm, lldb/test/API/macosx/posix_spawn arm64e.c Makefile

Revert "[lldb] Honor the arm64 subtype when launching on Darwin (#239423)"

This reverts commit 3e7841ef1d6fc5f1aa71eadfa410a781a65329c3.
DeltaFile
+16-43lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
+18-16lldb/tools/debugserver/source/MacOSX/MachProcess.mm
+1-6lldb/test/API/macosx/posix_spawn/Makefile
+0-5lldb/test/API/macosx/posix_spawn/arm64e.c
+1-2lldb/tools/debugserver/source/DNB.cpp
+1-0lldb/source/Host/macosx/objcxx/Host.mm
+37-726 files

LLVM/project 8b1d93b — .github/workflows libc-shared-tests.yml compiler-rt-libc-builtins-tests.yml

[libc] Enable baremetal Armv7-M pre-merge tests (#233498)

The tests are run using QEMU system emulation on x86 GitHub runners.
DeltaFile
+3-3.github/workflows/libc-overlay-tests.yml
+3-3.github/workflows/libc-fullbuild-tests.yml
+2-2.github/workflows/libc-shared-tests.yml
+2-2.github/workflows/compiler-rt-libc-builtins-tests.yml
+10-104 files

LLVM/project c39e503 — llvm/lib/Target/RISCV RISCVInstrInfoP.td, llvm/test/CodeGen/RISCV rvp-simd-32.ll rvp-simd-64.ll

[RISCV][P-ext] Add vector isel patterns to match merge from and/or/vnot. (#240223)

Assisted-by: Claude
DeltaFile
+54-2llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+24-0llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+9-4llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+87-63 files

LLVM/project 74c9dd2 — clang/lib/CIR/CodeGen TargetInfo.cpp, clang/lib/CIR/CodeGen/Targets NVPTX.cpp

[CIR][SYCL] Fix null value emission in local addrspace for AMD and NVPTX targets (#237387)

Fixes null value emission bug in local address space for AMDGPU and
NVPTX targets. This is needed to port the following 2 tests from clang
CodeGenSYCL to CIR CodeGenSYCL:
- amd-address-space-conversions.cpp
- cuda-address-space-conversions.cpp
DeltaFile
+247-0clang/test/CIR/CodeGenSYCL/amd-address-space-conversions.cpp
+197-0clang/test/CIR/CodeGenSYCL/cuda-address-space-conversions.cpp
+25-0clang/lib/CIR/CodeGen/Targets/NVPTX.cpp
+15-0clang/lib/CIR/CodeGen/TargetInfo.cpp
+484-04 files

LLVM/project fe51913 — llvm/test/CodeGen/RISCV calling-conv-lp64.ll calling-conv-lp64e.ll

[RISCV] Fix dead code in calling-conv-lp64(e).ll. NFC (#240101)

Flagged in the review of #239884.
DeltaFile
+5-1llvm/test/CodeGen/RISCV/calling-conv-lp64e.ll
+3-1llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
+8-22 files

LLVM/project 0cddc60 — llvm/lib/Analysis ScalarEvolution.cpp, llvm/test/Analysis/ScalarEvolution max-backedge-taken-count-guard-info-operand-order.ll

[SCEV] Drop redundant umax when applying signed lower-bound guards. (#237779)

When applying a guard From s>= RHS with a non-negative constant RHS,
From u>= RHS holds as well. If From has already been rewritten to
umax(C, From) with C u<= RHS, the umax is redundant and can be dropped.

This avoids losing range information, as the range of umax(C, From) may
be much less precise than the range of From when using SMax.

More precise range enables additional unrolling end-to-end
https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/1923.

PR: https://github.com/llvm/llvm-project/pull/237779
DeltaFile
+187-0llvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info-operand-order.ll
+11-1llvm/lib/Analysis/ScalarEvolution.cpp
+198-12 files