LLVM/project e56161elibcxx/utils/ci/lnt/runners apple-m5-clang21 apple-m5-xcode26

[libc++] Allow passing individual commits to LNT runners (#189020)

This is useful for generating specific data points.
DeltaFile
+33-16libcxx/utils/ci/lnt/runners/apple-m5-clang21
+31-16libcxx/utils/ci/lnt/runners/apple-m5-xcode26
+4-1libcxx/utils/ci/lnt/runners/README.md
+68-333 files

LLVM/project b2f5992libc/docs full_cross_build.rst build_and_test.rst

[libc][docs][NFC] Document cross-compilation testing with QEMU (#188838)

Added a "Building and Testing with an Emulator" section to
full_cross_build.rst using riscv64 and qemu-riscv64 as the example.
Outlined necessary CMake flags for cross-compiling with Clang, including
CMAKE_C_COMPILER_TARGET, CMAKE_CXX_COMPILER_TARGET, and
LLVM_ENABLE_LLD=ON. Switched from CMAKE_SYSROOT to LIBC_KERNEL_HEADERS
and added the gcc-riscv64-linux-gnu package dependency to ensure sysroot
issues on Debian-based systems are avoided while retaining access to
cross-compiler runtime objects.

Explained the self-hosted libc-hermetic-tests target as the required
target for executing tests during a standalone cross build, since the
standard check-libc tests are not hermetic.

Refactored existing CMake examples in full_cross_build.rst to use -S and
-B flags instead of cd and mkdir.

Removed prompt characters from code blocks and separated host

    [5 lines not shown]
DeltaFile
+103-16libc/docs/full_cross_build.rst
+7-0libc/docs/build_and_test.rst
+110-162 files

LLVM/project db5cd62flang/lib/Optimizer/OpenMP LowerWorkshare.cpp, flang/test/Transforms/OpenMP lower-workshare-thread-local.mlir

[flang][OpenMP] Restrict isSafeToParallelize to write-only thread-local effects (#188595)

This is a follow-up fix for commit 0f5e9bee.

Only write effects to thread-local memory should be considered safe to
parallelize in workshare lowering, not reads. When both reads and writes
were safe, the cascading effect in moveToSingle could cause entire
SingleRegions to become fully parallelized, eliminating the omp.single
and its implicit barrier. This removed synchronization points needed to
keep threads coordinated inside sequential loops containing workshared
operations, causing race conditions in forall-workshare patterns.

This was exposed by the Fujitsu Test Suite and made the following tests
regress:

FAIL: test-suite :: Fujitsu/Fortran/0398/Fujitsu-Fortran-0398_0031.test
FAIL: test-suite :: Fujitsu/Fortran/0398/Fujitsu-Fortran-0398_0013.test
FAIL: test-suite :: Fujitsu/Fortran/0398/Fujitsu-Fortran-0398_0030.test
FAIL: test-suite :: Fujitsu/Fortran/0398/Fujitsu-Fortran-0398_0014.test

Updates #143330
DeltaFile
+117-6flang/test/Transforms/OpenMP/lower-workshare-thread-local.mlir
+13-7flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
+130-132 files

LLVM/project 760c429mlir/include/mlir/Dialect/AMDGPU/IR AMDGPUEnums.td AMDGPUOps.td, mlir/lib/Conversion/AMDGPUToROCDL AMDGPUToROCDL.cpp

[MLIR][AMDGPU] Added l2-prefetch op to AMDGPU (#188457)

This PR adds `global_prefetch` op to prefetch a cache line to high-level
caches using the aligned address of the source `memref` and an offset
provided by the indices of the element containing the cache line. This
provides temporal hints (e.g., regular or high-priority). Note that
out-of-bounds access is allowed in speculative mode. Ensure the source
`memref` is in address space `1`.

---------

Co-authored-by: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
DeltaFile
+73-0mlir/test/Dialect/AMDGPU/invalid.mlir
+52-2mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
+40-0mlir/lib/Dialect/AMDGPU/IR/AMDGPUOps.cpp
+36-0mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUEnums.td
+33-0mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPUOps.td
+25-0mlir/test/Conversion/AMDGPUToROCDL/global-prefetch.mlir
+259-21 files not shown
+265-27 files

LLVM/project 45d7ef4offload/cmake OpenMPTesting.cmake

[Offload][NFC] Remove unused testing functions in CMake (#189013)

Summary:
These are called by no one.
DeltaFile
+0-45offload/cmake/OpenMPTesting.cmake
+0-451 files

LLVM/project b959831mlir/lib/Dialect/Arith/Transforms IntRangeOptimizations.cpp, mlir/test/Dialect/Arith int-range-opts.mlir

[MLIR][Arith] Fix int-range-optimizations miscompile from stale solver state (#188992)

The `--int-range-optimizations` pass runs the `DataFlowSolver` once,
then calls `applyPatternsGreedily` with a `DataFlowListener` that erases
solver state when ops are deleted. However, the greedy driver's
`simplifyRegions` step (which calls `runRegionDCE` between pattern
iterations) can remove block arguments without notifying the listener.
This frees the `BlockArgumentImpl` storage, which may be reused by a
subsequent allocation. The solver then finds stale lattice state keyed
at the reused address and incorrectly treats the new block argument as a
known constant, causing a miscompile.

The existing `enableFolding(false)` was added for the same class of bug
(folding can also remove block arguments). This patch extends the fix by
also disabling region simplification, preventing dead-arg elimination
from causing the same address-reuse problem.

Fixes #137281
Fixes #126195

Assisted-by: Claude Code
DeltaFile
+37-0mlir/test/Dialect/Arith/int-range-opts.mlir
+13-8mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
+50-82 files

LLVM/project 79658d7mlir/lib/Dialect/SCF/Transforms LoopRangeFolding.cpp, mlir/test/Dialect/SCF loop-range.mlir

[MLIR][SCF] Fix ForLoopRangeFolding miscompile with non-positive MulIOp multiplier (#188995)

The scf-for-loop-range-folding pass transforms loops of the form

  for (i = lb; i < ub; i += step) { use(i * c) }

into

  for (j = lb*c; j < ub*c; j += step*c) { use(j) }

This transformation is only valid when c is strictly positive, since
scf.for requires a positive step. When c is zero or negative, the new
step becomes zero or effectively negative (wrapping in unsigned
arithmetic for index type), producing an incorrect loop.

Add a guard that restricts the MulIOp folding to cases where the
loop-invariant multiplier is a statically known positive integer
constant. Non-constant loop-invariant multipliers are also excluded
since their sign cannot be determined at compile time.

    [4 lines not shown]
DeltaFile
+87-0mlir/test/Dialect/SCF/loop-range.mlir
+11-1mlir/lib/Dialect/SCF/Transforms/LoopRangeFolding.cpp
+98-12 files

FreeBSD/ports 5c903c9mail/claws-mail Makefile.claws Makefile, mail/claws-mail-fancy Makefile

mail/claws-mail*: Update 4.3.1 => 4.4.0, remove GTK2 option that use version 3.21.0

Release Notes:
https://lists.claws-mail.org/pipermail/users/2026-March/034710.html

- Remove option GTK2 - GTK2 supported in 3.x only, but 3.x reached EoL.
- Make cosmetic improvements and cleanups.

PR:             293704
Approved by:    Chris Hutchinson <portmaster at bsdforge.com> (maintainer)
Co-authored-by: Polarian <polarian at polarian.dev>
Co-authored-by: Chris Hutchinson <portmaster at bsdforge.com>
DeltaFile
+13-22mail/claws-mail/Makefile.claws
+5-10mail/claws-mail-notification/Makefile
+3-10mail/claws-mail-fancy/Makefile
+4-8mail/claws-mail/Makefile
+1-10mail/claws-mail/Makefile.ver
+3-6mail/claws-mail/distinfo
+29-667 files not shown
+40-7613 files

FreeBSD/src c789376share/man/man9 DEVICE_IDENTIFY.9

DEVICE_IDENTIFY.9: Fix function call to detect driver in example code

Fixes:          ccabc7c2e556 ("DEVICE_IDENTIFY.9: Modernize description and use cases")
MFC after:      3 days
Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-1share/man/man9/DEVICE_IDENTIFY.9
+1-11 files

FreeNAS/freenas c458448src/middlewared pyproject.toml, src/middlewared/debian control

Replace pysnmp with truenas_pysnmp C extension for SNMP traps

Rewrites snmp_trap.py to use the truenas_pysnmp C extension and replaces
the python3-pysnmp4 dependency with python3-truenas-pysnmp.
DeltaFile
+23-104src/middlewared/middlewared/alert/service/snmp_trap.py
+2-2src/middlewared/debian/control
+1-1src/middlewared/pyproject.toml
+26-1073 files

LLVM/project f6a43acllvm/docs LangRef.rst

[LangRef] Specify that syncscopes can affect the monotonic modification order

If a target specifies that atomics with mismatching syncscopes appear
non-atomic to each other, there is no point in requiring them to be ordered in
the monotonic modification order. Notably, the [AMDGPU target user
guide](https://llvm.org/docs/AMDGPUUsage.html#memory-scopes) has specified
syncscopes to relax the modification order for years.

So far, I haven't found an example where this less constrained ordering would
be observable (at least with the AMDGPU inclusive scope rules). Whenever a load
would be able to see two monotonic stores with non-inclusive scope, that's
considered a data race (i.e., the load would return `undef`), so it cannot be
used to observe the order of the stores.
DeltaFile
+13-9llvm/docs/LangRef.rst
+13-91 files

LLVM/project 19e1d98llvm/docs AMDGPUUsage.rst

[AMDGPUUsage] Specify what one-as syncscopes do

This matches the currently implemented and (as far as I could determine)
intended semantics of these syncscopes.
The sync scope table is unchanged except for removing its indentation;
otherwise it would be rendered as part of the preceding note.
DeltaFile
+89-77llvm/docs/AMDGPUUsage.rst
+89-771 files

LLVM/project 715d22ellvm/docs AMDGPUUsage.rst LangRef.rst

[LangRef][AMDGPU] Specify that syncscope can cause atomic operations to race

Targets should be able to specify that the syncscope of atomic operations
influences whether they participate in data races with each other.

For example, in AMDGPU, we want (and already implement) the load in the
following case to be in a data race (i.e., return `undef` according to the
current definition), because there is an atomic store with workgroup syncscope
executing in a different workgroup:

```
; workgroup 0:
  store atomic i32 1, ptr %p syncscope("workgroup") monotonic, align 4

; workgroup 1:
  store atomic i32 2, ptr %p syncscope("workgroup") monotonic, align 4
  load atomic i32, ptr %p syncscope("workgroup") monotonic, align 4
```


    [3 lines not shown]
DeltaFile
+4-1llvm/docs/AMDGPUUsage.rst
+2-1llvm/docs/LangRef.rst
+6-22 files

LLVM/project 16a32edllvm/docs LangRef.rst

[LangRef] Allow monotonic & seq_cst accesses to inter-operate with other accesses

Currently, the LangRef says that atomic operations (which includes `unordered`
operations, which don't participate in the monotonic modification order) must
read a value from the modification order of monotonic operations.

In the following example, this means that the load does not have a store it
could read from, because all stores it may see do not participate in the
monotonic modification order:

```
; thread 0:
  store atomic i32 1, ptr %p unordered, align 4

; thread 1:
  store atomic i32 2, ptr %p unordered, align 4
  load atomic i32, ptr %p unordered, align 4
```


    [18 lines not shown]
DeltaFile
+17-15llvm/docs/LangRef.rst
+17-151 files

LLVM/project e06b5e5libc/shared/math erfcf16.h, libc/src/__support/math erfcf16.h

[libc][math] Implement C23 half precision erfc function (#180930)

Add support for the half-precision complementary error function
`erfcf16``, using a Sollya generated polynomial implementation with
proper handling of special cases.

Extend the MPFR utilities with erfc support to allow tests.

closes: #180927
DeltaFile
+145-0libc/src/__support/math/erfcf16.h
+66-0libc/test/src/math/smoke/erfcf16_test.cpp
+43-0libc/test/src/math/erfcf16_test.cpp
+27-0libc/shared/math/erfcf16.h
+22-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+21-0libc/src/math/erfcf16.h
+324-019 files not shown
+414-125 files

LLVM/project 41080d1clang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp

Remove unused var.
DeltaFile
+0-1clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+0-11 files

LLVM/project c3bffc8mlir/lib/Dialect/Linalg/Transforms DropUnitDims.cpp, mlir/lib/Transforms/Utils WalkPatternRewriteDriver.cpp

Revert "[MLIR] Fix ErasedOpsListener false positives for newly created ops/blocks" (#189010)

Reverts llvm/llvm-project#188956

Hit "merge" by accident on the wrong tab, juggling too may PRs in
parallel...
DeltaFile
+2-30mlir/lib/Transforms/Utils/WalkPatternRewriteDriver.cpp
+2-4mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
+1-2mlir/test/lib/Dialect/Test/TestPatterns.cpp
+5-363 files

LLVM/project b7b9368llvm/lib/Target/SPIRV SPIRVModuleAnalysis.cpp SPIRVSymbolicOperands.td, llvm/test/CodeGen/SPIRV opencl-cxx-version-2021.ll opencl-cxx-version.ll

[SPIR-V] Support for C++ for OpenCL source language (#188791)

- Add CPP_for_OpenCL source language operand
- Handle opencl.cxx.version metadata

Align handling with SPIR-V translator logic and tests presented there
DeltaFile
+19-0llvm/test/CodeGen/SPIRV/opencl-cxx-version-2021.ll
+19-0llvm/test/CodeGen/SPIRV/opencl-cxx-version.ll
+17-0llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+17-0llvm/test/CodeGen/SPIRV/opencl-cxx-version-incompatible.ll
+1-0llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
+73-05 files

LLVM/project 8ea3645llvm/lib/Analysis CFG.cpp

[CFG] Add shortcut if CycleInfo is available (#188928)

isPotentiallyReachable() currently returns "reachable" early if BB
dominates StopBB. If CycleInfo is available, and BB is not part of a
cycle, we can also perform the reverse inference: Return "not reachable"
if StopBB dominates BB.

This both allows aborting the walk earlier, and provides a more precise
result.
DeltaFile
+15-4llvm/lib/Analysis/CFG.cpp
+15-41 files

LLVM/project a5964callvm/test/CodeGen/Hexagon peephole-sxtw-combine.mir tfr-cleanup-double-imm.mir

[Hexagon] Add coverage tests for CodeGen passes (#183951)

Add tests targeting specific Hexagon CodeGen passes with low coverage:

- peephole-sxtw-combine.mir: HexagonPeephole pass exercising SXTW
removal, combine generation, and LSR copy patterns. Improves
HexagonPeephole.cpp line coverage from 63.89% to 99.31%.

- vec-print-wq.ll: HexagonVectorPrint pass with V (single vector) and W
(double vector) register printing via 128b HVX. Improves
HexagonVectorPrint.cpp line coverage from 71.19% to 87.29%.

- tfr-cleanup-double-imm.mir: HexagonTfrCleanup pass exercising 64-bit
immediate rewrite paths. Improves HexagonTfrCleanup.cpp line coverage
from 80.85% to 88.30%.

- cfgopt-newpt-invert.ll: HexagonCFGOptimizer pass exercising branch
inversion with new-value predicate transfers.
DeltaFile
+77-0llvm/test/CodeGen/Hexagon/peephole-sxtw-combine.mir
+52-0llvm/test/CodeGen/Hexagon/tfr-cleanup-double-imm.mir
+50-0llvm/test/CodeGen/Hexagon/cfgopt-newpt-invert.ll
+36-0llvm/test/CodeGen/Hexagon/vec-print-wq.ll
+215-04 files

LLVM/project 2e10b62llvm/lib/Target/Hexagon HexagonRegisterInfo.cpp, llvm/test/CodeGen/Hexagon aligna-prologue-expansion.mir

[Hexagon] Add AP register to liveins when used for frame index access (#188942)

This is a follow-up to commit 3ef59d80c5ce ("[Hexagon] Fix
use-before-def of AP register in prologue CSR spills").

When the AP (alignment pointer) register is used as a base register for
frame index elimination, add it to the basic block's livein set. This
ensures liveness information is accurate for the machine verifier.
The original commit fixed the use-before-def issue by moving PS_aligna
after CSR spills. However, when the prologepilog pass is run in
isolation (as in MIR tests) with expensive checks enabled, the verifier
reports an error because AP is used in blocks where it's not marked as
live-in.
In the full compilation pipeline, the Hexagon Packetizer adds AP as an
implicit operand to instruction bundles, which satisfies the verifier.
However, when running only the prologepilog pass (before packetization),
AP remains an explicit operand and must be in the livein set.
This fix adds AP to liveins when AP is used as the base register,
ensuring correct liveness tracking regardless of whether packetization
has run.
DeltaFile
+10-0llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp
+10-0llvm/test/CodeGen/Hexagon/aligna-prologue-expansion.mir
+20-02 files

OpenBSD/src Fe9x6dgusr.sbin/rdate rdate.c rdate.8

   after a report from 'K r' on bugs that the manual page section rfc868 '-o'
   option has incorrect dates, let's recognize that this is no longer a good
   way to get time information and only the ntp interface is needed.
   ok sthen florian henning
VersionDeltaFile
1.38+9-23usr.sbin/rdate/rdate.c
1.41+5-15usr.sbin/rdate/rdate.8
1.8+2-2usr.sbin/rdate/Makefile
1.14+1-1usr.sbin/rdate/rfc868time.c
+17-414 files

LLVM/project 5f09e24clang/lib/AST/ByteCode Disasm.cpp

[clang][bytecode] Make memory output of Program::dump more accurate (#188925)
DeltaFile
+33-2clang/lib/AST/ByteCode/Disasm.cpp
+33-21 files

LLVM/project 1aba434libunwind/src libunwind.cpp, libunwind/test set_non_null_pc_outside_of_function_cfi_bounds.pass.cpp libunwind_01.pass.cpp

[libunwind][PAC] Defang ptrauth's PC in valid CFI range abort (#184041)

It turns out making the CFI check a release mode abort causes many, if
not the majority, of JITs to fail during unwinding as they do not set up
CFI sections for their generated code. As a result any JITs that do
nominally support unwinding (and catching) through their JIT or assembly
frames trip this abort.

rdar://170862047
DeltaFile
+48-0libunwind/test/set_non_null_pc_outside_of_function_cfi_bounds.pass.cpp
+13-17libunwind/src/libunwind.cpp
+8-1libunwind/test/libunwind_01.pass.cpp
+69-183 files

LLVM/project 3bff1a8compiler-rt/lib/xray xray_init.cpp

[XRay] Always register constructor(0) alongside .preinit_array (#188788)

On musl-based systems the dynamic linker does not process
DT_PREINIT_ARRAY, so the .preinit_array entry alone never calls
__xray_init(). Without initialization, the global XRay Flags struct is
zero-initialized and flags()->xray_mode is NULL. When the basic-mode or
FDR-mode static initializers run from .init_array and call
internal_strcmp(flags()->xray_mode, ...), they dereference NULL and
crash.

Fix this by always registering a constructor(0) in addition to the
.preinit_array entry. On glibc where .preinit_array works, __xray_init()
will have already run and the constructor returns immediately (the
function is idempotent). On musl, the constructor ensures __xray_init()
runs before other .init_array entries that depend on XRay flags being
initialized.
DeltaFile
+9-5compiler-rt/lib/xray/xray_init.cpp
+9-51 files

LLVM/project 7119610lldb/source/Plugins/Platform/WebAssembly PlatformWebInspectorWasm.cpp PlatformWebInspectorWasm.h, llvm/docs ReleaseNotes.md

[lldb] Add PlatformWebInspectorWasm (#188751)

Add a new PlatformWebInspectorWasm, which is a Wasm platform that
automatically connects to the WebInspector platform server.

The existing "wasm" platform handles WebAssembly generally and allows
you to configure a runtime to launch under. The "webinspector-wasm"
platform does the inverse, and only supports attaching to an already
running WebAssembly instance in Safari. The workflow here is always
`platform process list` followed by `platform process attach`. This
explains why you can only force create this platform and it's never
automatically selected when loading a Wasm target.
DeltaFile
+177-0lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.cpp
+58-0lldb/source/Plugins/Platform/WebAssembly/PlatformWebInspectorWasm.h
+17-17lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.cpp
+11-2lldb/source/Plugins/Platform/WebAssembly/PlatformWasm.h
+1-0llvm/docs/ReleaseNotes.md
+1-0lldb/source/Plugins/Platform/WebAssembly/CMakeLists.txt
+265-196 files

LLVM/project 6ed1884clang/lib/CodeGen CGObjCMac.cpp, llvm/test/CodeGen/AArch64 neon-bitwise-instructions.ll

Merge branch 'main' into users/s-perron/texture2d-mips
DeltaFile
+601-1,016llvm/test/CodeGen/AMDGPU/memmove-param-combinations.ll
+668-7llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
+290-378llvm/test/CodeGen/X86/srem-vector-lkk.ll
+636-0clang/lib/CodeGen/CGObjCMac.cpp
+624-0llvm/test/CodeGen/AMDGPU/ctls.ll
+484-122llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop2.txt
+3,303-1,5231,374 files not shown
+33,391-15,2201,380 files

LLVM/project 881f636clang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp

Remove redudant convertplaceholder.
DeltaFile
+1-1clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+1-11 files

LLVM/project 0d7c0ddmlir/lib/Dialect/Linalg/Transforms DropUnitDims.cpp, mlir/lib/Transforms/Utils WalkPatternRewriteDriver.cpp

Revert "[MLIR] Fix ErasedOpsListener false positives for newly created ops/bl…"

This reverts commit 06b057d2546ed64018b44df5ebe0e3ecd1c07b26.
DeltaFile
+2-30mlir/lib/Transforms/Utils/WalkPatternRewriteDriver.cpp
+2-4mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
+1-2mlir/test/lib/Dialect/Test/TestPatterns.cpp
+5-363 files

LLVM/project c5e514fllvm/lib/Target/AArch64 AArch64SystemOperands.td, llvm/test/MC/AArch64 armv8.7a-xs.s armv9.5a-tlbiw.s

fixup! Move nxs bit into TLBIEntry rather than override
DeltaFile
+57-56llvm/test/MC/AArch64/armv8.7a-xs.s
+21-33llvm/lib/Target/AArch64/AArch64SystemOperands.td
+10-10llvm/test/MC/AArch64/armv9.5a-tlbiw.s
+88-993 files