LLVM/project 12f2c46 — libcxx/docs/Status Cxx26Issues.csv, libcxx/include/__ranges elements_view.h

[libc++][ranges] Implement LWG3797: `elements_view` insufficiently constrained (#236930)

Require `std::get<N>(t)` to be valid in `has-tuple-element`. Previously,
a range of `subrange`s over a move-only iterator satisfied the
constraints of `elements_view<V, 0>` and then failed with a hard error,
because `subrange`'s lvalue `get<0>` requires `copyable<I>`.

Fixes #189811
DeltaFile
+12-1libcxx/test/std/ranges/range.adaptors/range.elements/range.concept.compile.pass.cpp
+3-1libcxx/include/__ranges/elements_view.h
+1-1libcxx/docs/Status/Cxx26Issues.csv
+16-33 files

LLVM/project b727a62 — llvm/lib/Target/DirectX DXIL.td, llvm/utils/TableGen DXILEmitter.cpp

DirectX: Give DXIL op attribute records a Name field

The DXIL attributes were defined with names colliding with the normal
definitions in Attributes.td. It just happens that isn't included by
the backend today, but I am planning on changing that. Add a prefix
and add an explicit name field so the generated names don't change.
Alternatively it might be possible to specify these directly with the
attribute intrinsic properties.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+80-78llvm/lib/Target/DirectX/DXIL.td
+1-1llvm/utils/TableGen/DXILEmitter.cpp
+81-792 files

LLVM/project b135826 — .github/workflows lnt-submit.yml

[ci] Fix LNT submission when a single artifact is downloaded (#237584)

When the artifact pattern matches a single artifact, download-artifact
extracts it directly into the target directory instead of a subdirectory.
This means a glob like `reports/*/*.json` doesn't match. To fix this,
use a glob for both `reports/*/*.json` and `reports/*.json`.
DeltaFile
+3-1.github/workflows/lnt-submit.yml
+3-11 files

LLVM/project 659a52c — llvm/test/TableGen intrinsic-attrs.td, llvm/utils/TableGen/Basic IntrinsicEmitter.cpp

TableGen: Don't distinguish intrinsic function attribute sets by hasSideEffects (#237501)

hasSideEffects does not contribute to the emitted function attributes,
so including it in the uniquing key emitted duplicate attribute sets.
This removes 17 redundant function attribute sets, which also shrinks
the function attribute set ID from 8 to 7 bits.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+1-2llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
+1-1llvm/test/TableGen/intrinsic-attrs.td
+2-32 files

LLVM/project 3329ff7 — llvm/include/llvm/Support SourceMgrDiagnosticVerifier.h

[Support] Delete copy constructor in SourceMgrDiagnosticVerifier (#236962)

When building LLVM as a DLL on Windows, MSVC attempts to instantiate
implicit members such as the copy constructor. This class is already not
copyable due to having a `unique_ptr` member, so explicitly mark the
copy constructor and copy assignment operator as deleted.

The effort to build LLVM as a dylib is tracked in #109483.
DeltaFile
+4-0llvm/include/llvm/Support/SourceMgrDiagnosticVerifier.h
+4-01 files

LLVM/project d2f6dce — llvm/lib/Target/X86 X86ISelLowering.cpp

[X86] LowerRotate - pull out repeated checks. NFC. (#237576)
DeltaFile
+17-17llvm/lib/Target/X86/X86ISelLowering.cpp
+17-171 files

LLVM/project 92c1051 — .github/workflows llvm-test-suite-run.yml

[ci] Fix the LLVM test-suite run on macOS (#237582)

perf isn't available on macOS, so `which perf` returned non-zero and
failed the whole step.
DeltaFile
+1-1.github/workflows/llvm-test-suite-run.yml
+1-11 files

LLVM/project f115224 — llvm/include/llvm/Analysis AssumeBundleQueries.h, llvm/lib/Analysis AssumeBundleQueries.cpp

[AssumeBundleQueries] Remove getKnowledgeFromUse (#237174)

The function is used only in a single place, where inlining the function
allows simplifying the code quite a bit.
DeltaFile
+0-23llvm/lib/Analysis/AssumeBundleQueries.cpp
+14-5llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+0-5llvm/include/llvm/Analysis/AssumeBundleQueries.h
+14-333 files

LLVM/project 82b78f9 — llvm/test/CodeGen/RISCV rvp-simd-32.ll

[RISCV] Regenerate rvp-simd-32.ll checks after concat_vectors fold

Co-authored-by: lialan <450283+lialan at users.noreply.github.com>
DeltaFile
+119-47llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+119-471 files

LLVM/project f9f79d1 — .github/workflows libcxx-benchmark-cron.yml libcxx-lnt-refine-commits.yml

[libc++] Download LNT series incrementally when selecting refinement commits (#237566)

Selecting refinement commits requires downloading a large amount of data
from LNT (the time series for all tests). When done repeatedly, this
drains the credits we have for the datanase's IO. Instead, cache the
data we've already downloaded and download only what's missing.

Assisted by Claude
DeltaFile
+61-13.github/workflows/libcxx-lnt-refine-commits.yml
+1-0.github/workflows/libcxx-benchmark-cron.yml
+62-132 files

LLVM/project 8e92c09 — llvm/lib/CodeGen TargetInstrInfo.cpp, llvm/test/CodeGen/AArch64 machine-outliner-patchable.mir

[CodeGen][MachineOutliner] Ignore debug instructions when checking pa… (#227971)

…tchable exits

isMBBSafeToOutlineFrom checks the instruction before a return for
PATCHABLE_FUNCTION_EXIT and PATCHABLE_TAIL_CALL. A debug instruction
between the patchable instruction and the return currently hides it and
allows the block to be outlined.

Use prev_nodbg for the backward check while preserving the existing
treatment of pseudo probes. Retain the direct-adjacency coverage and add
a regression with a DBG_VALUE between PATCHABLE_FUNCTION_EXIT and RET.

Fixes #227922

Assisted-by: OpenAI Codex 5.6 Sol
Assisted-by: Claude (review)
DeltaFile
+87-0llvm/test/CodeGen/AArch64/machine-outliner-patchable.mir
+1-1llvm/lib/CodeGen/TargetInstrInfo.cpp
+88-12 files

LLVM/project e33fb95 — llvm/test/CodeGen/AMDGPU bfi_int.ll div_i128.ll, llvm/test/CodeGen/AMDGPU/GlobalISel cvt_f32_ubyte.ll xnor.ll

[GlobalISel] Fixup commuted combine matching

Match the subtraction on either side of (A-C1)+C2. Check constants and
use counts through the matched operands.

Look through single-use copies when unmerging constants to avoid extra
AMDGPU materializations. Preserve shared constants and copies, physical
register copies, and constant-fold barriers.

Cover commuted subtraction and copied constants in MIR tests, and update
affected AMDGPU assembly checks.
DeltaFile
+142-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-unmerge-constant.mir
+61-66llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
+55-34llvm/test/CodeGen/AMDGPU/GlobalISel/xnor.ll
+34-42llvm/test/CodeGen/AMDGPU/div_i128.ll
+18-56llvm/test/CodeGen/AMDGPU/bfi_int.ll
+26-30llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
+336-22814 files not shown
+463-37620 files

LLVM/project 46be2fa — libc/docs/headers/math index.md

[libc][docs] Update `index.md` for float80 and double_double functions (#236675)

This removed the long_double column, replacing it with the float80 and
double_double functions.
( Assisted using : Gemini )
DeltaFile
+129-128libc/docs/headers/math/index.md
+129-1281 files

LLVM/project 923c397 — libc/src/__support/math fmaximum_mag_numf80.h fminimum_mag_numf80.h, libc/src/math/generic fmaximum_mag_numf80.cpp fminimum_mag_numf80.cpp

[libc] Add fmaximum_mag_num/fminimum_mag_num functions for float80 type (#236415)
DeltaFile
+38-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+33-0libc/src/__support/math/fmaximum_mag_numf80.h
+33-0libc/src/__support/math/fminimum_mag_numf80.h
+30-0libc/test/src/math/smoke/CMakeLists.txt
+30-0libc/src/math/generic/fmaximum_mag_numf80.cpp
+30-0libc/src/math/generic/fminimum_mag_numf80.cpp
+194-028 files not shown
+450-034 files

LLVM/project df13cd9 — libc/shared/math fdimf80.h, libc/src/__support/math fdimf80.h

[libc] Add fdim functions for float80 type (#236417)
DeltaFile
+33-0libc/src/__support/math/fdimf80.h
+30-0libc/src/math/generic/fdimf80.cpp
+28-0libc/shared/math/fdimf80.h
+27-0libc/src/math/fdimf80.h
+20-0libc/test/src/math/smoke/fdimf80_test.cpp
+19-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+157-023 files not shown
+223-029 files

LLVM/project eb8f4f2 — libc/src/__support/math fminimum_magf80.h fmaximum_magf80.h, libc/src/math/generic fminimum_magf80.cpp fmaximum_magf80.cpp

[libc] Add fmaximum_mag/fminimum_mag functions for float80 type  (#236411)
DeltaFile
+38-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+33-0libc/src/__support/math/fminimum_magf80.h
+33-0libc/src/__support/math/fmaximum_magf80.h
+30-0libc/test/src/math/smoke/CMakeLists.txt
+30-0libc/src/math/generic/fminimum_magf80.cpp
+30-0libc/src/math/generic/fmaximum_magf80.cpp
+194-028 files not shown
+450-034 files

LLVM/project 5799816 — offload/libompaccsupport device.cpp

fix function spelling
DeltaFile
+1-1offload/libompaccsupport/device.cpp
+1-11 files

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

make direct-write support a device property
DeltaFile
+16-14offload/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
+3-0offload/liboffload/src/OffloadImpl.cpp
+51-171 files not shown
+52-187 files

LLVM/project 42f0c03 — offload/libompaccsupport device.cpp

only use sync copy on AMDGPU; improve logging
DeltaFile
+13-10offload/libompaccsupport/device.cpp
+13-101 files

LLVM/project 023295c — offload/libompaccsupport device.cpp

use submitDataSync
DeltaFile
+4-5offload/libompaccsupport/device.cpp
+4-51 files

LLVM/project 17c3bb7 — offload/libompaccsupport device.cpp, offload/test/offloading kernel_launch_environment.c

[offload] Copy the kernel launch environment with a direct-write memcpy

Claude assisted with this patch.
DeltaFile
+76-0offload/test/offloading/kernel_launch_environment.c
+15-5offload/libompaccsupport/device.cpp
+91-52 files

LLVM/project 59260cc — offload/libompaccsupport device.cpp, offload/test/offloading/fortran target-no-loop.f90

[OpenMP][offload] Apply the low-trip rule to no-loop kernels

A no-loop kernel gets one thread per iteration. Like an SPMD kernel, it
now gets fewer threads per block, down to
LIBOMPTARGET_MIN_THREADS_FOR_LOW_TRIP_COUNT, and more blocks if its loop
is too short to fill the default number of blocks. A thread_limit is
never changed. For example, a no-loop kernel of 512 iterations gets
16x32 instead of 2x256 on MI210. For BLAS level-3 kernels of that shape,
each iteration a long serial loop, that is 3-6x faster.

This is an upstream port of the corresponding downstream.

Claude assisted with this patch.
DeltaFile
+68-45offload/libompaccsupport/device.cpp
+7-0offload/test/offloading/fortran/target-no-loop.f90
+75-452 files

LLVM/project 774d736 — llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AMDGPU concat-scalar-to-vector.ll

[SelectionDAG] Check legality when folding scalar vector concatenations

Allow scalar-to-vector concatenations after operation legalization when the resulting BUILD_VECTOR is legal. Check newly required integer truncations as well, and use opcode-first comparisons.

Document why FP scalars need no conversion. Add an AMDGPU IR regression for concatenating a floating-point SCALAR_TO_VECTOR with a BUILD_VECTOR.
DeltaFile
+49-34llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+22-0llvm/test/CodeGen/AMDGPU/concat-scalar-to-vector.ll
+71-342 files

LLVM/project 43c3298 — libc/docs/headers/math index.md

update index.md for float80 and double_double
DeltaFile
+128-128libc/docs/headers/math/index.md
+128-1281 files

LLVM/project c67b1ed — libc/docs/headers/math index.md

add note
DeltaFile
+1-0libc/docs/headers/math/index.md
+1-01 files

LLVM/project 6eb23c3 — libc/test/src/math/smoke fdimf80_test.cpp

nits
DeltaFile
+1-1libc/test/src/math/smoke/fdimf80_test.cpp
+1-11 files

LLVM/project df4b9c8 — libc/shared/math fdimf80.h, libc/src/__support/math fdimf80.h

add fdimf80
DeltaFile
+33-0libc/src/__support/math/fdimf80.h
+30-0libc/src/math/generic/fdimf80.cpp
+28-0libc/shared/math/fdimf80.h
+27-0libc/src/math/fdimf80.h
+20-0libc/test/src/math/smoke/fdimf80_test.cpp
+19-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+157-023 files not shown
+223-029 files

LLVM/project a033d71 — libc/src/__support/math fminimum_mag_numf80.h fmaximum_mag_numf80.h, libc/src/math/generic fminimum_mag_numf80.cpp fmaximum_mag_numf80.cpp

add fmax_min_mag_num
DeltaFile
+38-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+33-0libc/src/__support/math/fminimum_mag_numf80.h
+33-0libc/src/__support/math/fmaximum_mag_numf80.h
+30-0libc/test/src/math/smoke/CMakeLists.txt
+30-0libc/src/math/generic/fminimum_mag_numf80.cpp
+30-0libc/src/math/generic/fmaximum_mag_numf80.cpp
+194-028 files not shown
+450-034 files

LLVM/project 0c99ad8 — libc/src/__support/math fminimum_magf80.h fmaximum_magf80.h, libc/src/math/generic fminimum_magf80.cpp fmaximum_magf80.cpp

add fmax_min_mag
DeltaFile
+38-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+33-0libc/src/__support/math/fminimum_magf80.h
+33-0libc/src/__support/math/fmaximum_magf80.h
+30-0libc/test/src/math/smoke/CMakeLists.txt
+30-0libc/src/math/generic/fminimum_magf80.cpp
+30-0libc/src/math/generic/fmaximum_magf80.cpp
+194-028 files not shown
+450-034 files

LLVM/project 24ea9d2 — libc/src/__support/math fminimum_numf80.h fmaximum_numf80.h, libc/src/math/generic fminimum_numf80.cpp fmaximum_numf80.cpp

[libc] Add fmaximum_num/fminimum_num functions for float80 type (#236401)
DeltaFile
+38-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+33-0libc/src/__support/math/fminimum_numf80.h
+33-0libc/src/__support/math/fmaximum_numf80.h
+30-0libc/test/src/math/smoke/CMakeLists.txt
+30-0libc/src/math/generic/fminimum_numf80.cpp
+30-0libc/src/math/generic/fmaximum_numf80.cpp
+194-028 files not shown
+450-034 files